当前位置:  开发笔记 > 编程语言 > 正文

创建WebService C#ASP.Net

如何解决《创建WebServiceC#ASP.Net》经验,为你挑选了1个好方法。

代码片段如下所示

namespace RecruiterWebService
{
    /// 
    /// Summary description for Service1
    /// 


    [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)
        { }


    }
}

我的问题是: -

    如何从Service1更改WebService的名称,让我们说Job ...我尝试这样做但是在添加WebReference时它正在给出Exception.

    在这个web服务中,我正在使用方法重载但是在添加WebReference时它使用消息属性抛出异常和建议,这是我无法理解的.

    按照你的建议解决上面两个错误..我遇到了返回类型的问题.我使用XMLDocument作为所有WEBMethods的返回类型,但在将其作为Web引用添加到客户端之后,方法的返回类型变为XMLNode我该如何解决这个问题

等待回应的家伙..



1> Marc Gravell..:

1:如果更改了类名,则还必须更改.asmx(或.svc for WCF)页面,该页面具有(文本)标记Service1.右键单击asmx和"View markup" - 它应该类似于:

<%@ WebService Language="C#" CodeBehind="Service1.asmx.cs" Class="WebService1.Service1" %>

更改ClassCodeBehind匹配您当前的设置.

2:ws 1-1不支持重载.您只需添加一个属性即可为SOAP接口上的每个方法指定唯一的名称.但请注意,这将成为您的代理将看到的方法名称.

例如,您可以更改以下消息之一:

    [WebMethod(MessageName = "InsertXml")]
    public XmlDocument Insert(XmlDocument Jobs)
    { ... }

现在更新客户端; 你(如果你使用wsdl.exe等)可能会有一个InsertXml(...)方法.

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有