代码片段如下
namespace RecruiterWebService
{
/// <summary>
/// Summary description for Service1
/// </summary>
[WebService(Namespace = "http://tempuri.org/") ]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
public class **Service1** : System.Web.Services.WebService
{
[WebMethod]
public XmlDocument Insert(XmlDocument Jobs)
{ }
[WebMethod]
public XmlDocument Update(XmlDocument Jobs)
{ }
[WebMethod]
public XmlDocument Delete(XmlDocument Jobs)
{ }
[WebMethod]
public XmlDocument Insert(string JobPath)
{ }
[WebMethod]
public XmlDocument Update(string JobPath)
{ }
[WebMethod]
public XmlDocument Delete(string JobPath)
{ }
[WebMethod]
public XmlDocument FeedBack(string UserName, string Password)
{ }
}
}
我的问题是:-
如何将 WebService 的名称从 Service1 更改为 Jobs..我尝试这样做,但在添加 WebReference 时出现异常。
在此 Web 服务中,我使用方法重载,但 aginb 在添加 WebReference 时会抛出异常,并使用我无法理解的消息属性进行建议。
按照您的建议解决上述两个错误后..我遇到了返回类型的问题。我使用 XMLDocument 作为所有 WEBMethod 的返回类型,但将其添加为客户端的 Web 引用后,方法的返回类型更改为 XMLNode 我该如何解决此问题
等待大家的回复..
最佳答案
1:如果更改类名,则还必须更改 .asmx(或 WCF 的 .svc)页,该页的(文本)标记为 Service1
。右键单击 asmx 和“查看标记” - 它应该类似于:
<%@ WebService Language="C#" CodeBehind="Service1.asmx.cs" Class="WebService1.Service1" %>
更改Class
和CodeBehind
以匹配您当前的设置。
2:ws 1-1 不支持重载。您只需添加一个属性即可为 SOAP 接口(interface)上的每个方法指定唯一的名称。但是,请注意,这将成为您的代理将看到的方法名称。
例如,您可以更改其中一条消息,如下所示:
[WebMethod(MessageName = "InsertXml")]
public XmlDocument Insert(XmlDocument Jobs)
{ ... }
现在更新客户端;您(如果您使用 wsdl.exe 等)可能会有一个 InsertXml(...)
方法。
关于c# - 创建 Web 服务 C# ASP.Net,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/298018/