目录
关于 WebService 的各类介绍网络上已经很多了,笔者就不赘述了。这里仅简单提供一个调用 WebService 接口的窗体应用程序Demo。
使用的 Web 服务链接:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx
1、本文使用的相关软件或产品:
- Windows 10 专业版 10.0.19044
- Visual Studio Community 2022 - 17.4.2
- Microsoft .NET Framework 4.8.04084
- 「.NET 桌面开发」工作负荷 &「ASP.NET 和 Web 开发」工作负荷
- IIS 10.0
- ASP.NET 4.8
2、效果演示:
核心代码就几句:
//实例化对象
WeatherWebService client = new WeatherWebService();
//获取搜索城市的天气
string[] WeatherData = client.getWeatherbyCityName(watermarkTextBox1.Text);
//串联字符串数组
string union = string.Join("\r\n", WeatherData);
//显示结果
richTextBox1.Text = union;
3、Demo下载:
「WebService」.net 下的简单天气查询示例
https://download.csdn.net/download/YMGogre/87252733
🌐tips:
1)添加服务引用过程:
2)创建自己的 Web 服务过程:
- (开始之前我们需要确认「ASP.NET 和 Web 开发」工作负荷 中勾选了 .NET Framework项目和项模板)向解决方案中新建项目:
- 选择 ASP.NET Web 应用程序(.NET Framework) ,点击"下一步(N)":
- 填写合适的项目名称,点击"创建(C)":
- 选择 空 项目模板,点击"创建":
- 右键刚创建的项目,选择"添加(D)" ==> "新建项(W)":
- 在搜索栏搜索 “web” ,选择 Web服务(ASMX),填写合适的名称,点击"添加(A)":
- 最后补一张上述6个步骤的GIF:
- 添加完成后,我们在代码中再随便写点自己的方法供外部调用。随后右键 WebServiceServer 项目,点击 "设为启动项目(A)",启动项目:
3)发布我们的 Web 服务:
(1) 开启 IIS 功能:
- 搜索打开控制面板(或者在菜单栏中找到 "Windows 系统" 文件夹,打开其中的 "控制面板" ):
- 在 程序 类别中找到"启用或关闭Windows功能"选项:
- 在弹出的界面中选中下图红框中的功能,点击"确定"以启用这些 Windows 功能:
(2) 在本地文件夹发布 Web 服务:
- 回到 Visual Studio ,右击项目名称,选择"发布(B)"(这里我们选择发布到本地文件夹):
- 选择发布到文件夹(若小伙伴们想发布到 Web 服务器(IIS) 可自行搜索相应教程),点击"下一步(N)":
- 文件夹位置保持默认(默认在当前项目的bin文件夹下),点击"完成(F)":
- 完成后点击右上角的"发布(U)":
- 成功发布后 输出栏 会有如下提示信息:
- ❗tips:可以勾选如下设置,勾选后系统会在发布更新时删除现有文件:
- 发布成功后,前往菜单栏找到 "Windows 管理工具" 文件夹,打开其中的"IIS管理器":
- 打开IIS管理器后在左侧导航窗口中找到网站文件夹,右键该文件夹,选择"添加网站":
- 按如下配置设置"添加网站"向导页面,设置完成后点击"确定":
- 这里补充说一下绑定类型(T)无内容的情况。解决方法为前往如下图所示文件夹,打开文件夹下的 applicationHost.config 配置文件(可用VS Code打开):
- 在 listenerAdapters 节点下添加如下内容:
<listenerAdapters> <add name="http" /> </listenerAdapters>
- 添加完成后如图所示,保存配置文件,随后重新进行"添加网站"的操作就可以啦。修改后的配置文件内容应如图所示:
- 最后补一张修改配置文件的GIF(GIF太大(8MB)上传不了我就上传为资源了,,,需要的同学可以下载,当然Demo的README文件中也有该GIF):IIS添加网站时绑定类型(T)无可选项解决办法.gif
- 这里补充说一下绑定类型(T)无内容的情况。解决方法为前往如下图所示文件夹,打开文件夹下的 applicationHost.config 配置文件(可用VS Code打开):
- 添加完成后,我们就可以浏览刚刚添加的网站了:
- 这个时候出现了 HTTP 错误,我们按照红框中的操作提示进行操作即可:
- 完成操作后就可以成功打开网站了,点击 .asmx Web服务项:
- 成功打开我们添加的网站,复制该链接就能作为服务引用到别的项目啦~(添加服务引用具体过程见本文第三章的第1)节):