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.再次重新生成后,查看结果如下

 

【出处】:https://www.cnblogs.com/janes/p/1889098.html

=======================================================================================

posted on   jack_Meng  阅读(49)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· DeepSeek “源神”启动!「GitHub 热点速览」
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
历史上的今天:
2020-11-30 朴素贝叶斯分类-实战篇-如何进行文本分类
2020-11-30 朴素贝叶斯分类-理论篇-如何通过概率解决分类问题
2020-11-30 数据变换-归一化与标准化
2017-11-30 基本算法系列15天速成

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

支付宝打赏

主题色彩