我在本机中有个http://localhost/Service1.asmx服务,其中代码如下
C# code
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
namespace WebService1
{
/// <summary>
/// Service1 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
// [System.Web.Script.Services.ScriptService]
public class Service1 : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
}
}
我在另外一个网站添加服务引用,命名为name1.
随后我在cs文件中输入name1,提示却变成了
HelloWorldRequest
HelloWorldRequestBody
HelloWorldResponse
HelloWorldResponseBody
WebServiceSoap
WebServiceSoapChannel
WebServiceSoapClient
而我引用别人的web service时,却不会有这几个:
HelloWorldRequest
HelloWorldRequestBody
HelloWorldResponse
HelloWorldResponseBody
只有:
WebServiceSoap
WebServiceSoapChannel
WebServiceSoapClient
,不知道是如何设置的。
经过我的测试发现如果把
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
改成:
[WebMethod]
public bool HelloWorld()
{
return true;
}
也就是改个类型就没有上面的情况了,不知道什么原因
------最佳解决方案--------------------
我在本机中有个http://localhost/Service1.asmx服务,其中代码如下
C# code
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
namespace WebService1
{
/// <summary>
/// Service1 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
// [System.Web.Script.Services.ScriptService]
public class Service1 : System.Web.Services.WebService