在WebService中默认设置是不支持方法的重载的。简单写个例子
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1 )]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
// [System.Web.Script.Services.ScriptService]
public class WebService : System.Web.Services.WebService {
public WebService () {
//Uncomment the following line if using designed components
//InitializeComponent();
}
[WebMethod]
public string HelloWorld() {
return "Hello World";
}
[WebMethod]
public string HelloWorld(string str)
{
return "Hellp World,"+str;
}
}
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1 )]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
// [System.Web.Script.Services.ScriptService]
public class WebService : System.Web.Services.WebService {
public WebService () {
//Uncomment the following line if using designed components
//InitializeComponent();
}
[WebMethod]
public string HelloWorld() {
return "Hello World";
}
[WebMethod]
public string HelloWorld(string str)
{
return "Hellp World,"+str;
}
}
在浏览器中查看,会报如下错误
修改步骤如下:
1.修改[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1 )],为[WebServiceBinding(ConformsTo = WsiProfiles.None )];
2.为重载的各方法添加不同的MessageName属性,作为重载时的标识。
[WebMethod(MessageName ="ShowWithoutName",Description="直接输出HelloWorld")]
public string HelloWorld() {
return "Hello World";
}
[WebMethod (MessageName ="ShowByName",Description="输出指定的字符串")]
public string HelloWorld(string str)
{
return "Hellp World,"+str;
}
public string HelloWorld() {
return "Hello World";
}
[WebMethod (MessageName ="ShowByName",Description="输出指定的字符串")]
public string HelloWorld(string str)
{
return "Hellp World,"+str;
}
3.再次重新生成后,查看结果如下
作者:陈敬(公众号:敬YES)
出处:http://www.cnblogs.com/janes/
博客文章仅供交流学习,请勿用于商业用途。如需转载,请务必注明出处。