c#调用WebService

         接口无处不在,诸如Http、webapi、webservice等等,接口在调用的时候,免不了会处理到参数,最常用的会有post、get、put 方式等等。

这里介绍下调用WebService,新建一Web空项目,然后添加新项--Web服务(ASMX)后, 打开MyWebService.asmx (命名)文件 ,添加如下3个方法

复制代码
        [WebMethod]
        public string HelloWorld1()
        {
            return "Hello World";
        }


        [WebMethod]
        public string HelloWorld2(int a)
        {
            return (2 * a).ToString();
        }


        [WebMethod]
        public string HelloWorld3(int a,string[] strs)
        {
            return (strs.Length).ToString();
        }
复制代码

然后点击发布,最后在IIS上部署,需要注意net 版本设置为4.0

然后在功能视图中设置下默认文档,如果提示配置文件失败,则点击配置文件,添加以下代码,直接指定默认目录即可

  <system.webServer>
    <defaultDocument>
      <files>
        <add value="MyWebService.asmx" />
      </files>
    </defaultDocument>
    <directoryBrowse enabled="true" showFlags="Date, Time, Size, Extension" />
  </system.webServer>

点击浏览网站,出现如下界面即表明IIS 网站部署成功。

 

接下来,新建一Winform项目,调用以上3个方法,点击引用,右键-添加服务引用,可以通过输入网站发布的地址点击按钮“转到”,或者直接点击发现进行搜索(同一项目工程下)

 接下来,就是调用接口的用例 ,注意:申明服务引用时,客户端名称为添加服务引用界面的红框值

由图可知,HelloWorld3 的方法参数原本是 string[] , 在这里变成了 ArrayOfString ,按照这种规则,传递数组的参数时,如红框中定义的那样去赋值,然后进行调用

 

posted @   郎中令  阅读(4985)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示