• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
敬YES
Now Or Never
博客园    首页       联系   管理    订阅  订阅
WebService重载问题

在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;
    }
}

 

 

在浏览器中查看,会报如下错误

 

修改步骤如下:

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;
    }

 

 

3.再次重新生成后,查看结果如下

作者:陈敬(公众号:敬YES)
出处:http://www.cnblogs.com/janes/
博客文章仅供交流学习,请勿用于商业用途。如需转载,请务必注明出处。

posted on 2010-11-26 18:21  敬YES  阅读(1124)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3