C# 创建简单的WebService发布本地和调用方法及环境配置(VS2017)

三目条件 2024-08-27 09:33:02 阅读 99

说明:由于工作的缘故,写MES时遇到了Web的服务接口,想着深入了解web的运作和接口文档文件的生成和调用方法,故写此文章,以备不时之需,共勉。

创建Web参考:C#创建Web参考来源

IIS设置参考:IIS的设置参考来源1、IIS设置来源参考2

错误解决方法参考:下面出现错误的解决方法

一、创建简单的Web

1、创建web项目

若没有该项目可选,则重新修改VS2017,安装关于web开发的环境。

项目模板选择空即可,确认创建。

右击项目,添加-新建项

2、添加web服务项

这部分是默认生成的代码,我们可以在下面添加自己的接口。

3、启动项目

出现下面的界面,证明已经可以了,若是没有出现,可先看第三部分IIS管理器配置

调用接口,打印输出内容

二、发布接口到本地

1、右击项目,选择发布

将接口发布到本地文件

发布成功后会出现这些文件

三、IIS管理器设置

不配置IIS管理器,会导致打不开刚刚那个接口网页,我在网上找到了配置的方法。

1、打开控制面板-程序-启用或关闭window功能

2、把这些功能都启用

3、打开管理工具,找到IIS管理器,可以右击该管理器发生到桌面快捷方式。

4、打开目录浏览功能,并启用

5、配置编辑器

找到该配置路径,并把该属性改成true

四、IIS管理器添加web网站

1、在IIS界面右侧,右击网络-添加网站

按照下面图片上的说明添加刚刚的web接口到网站上

2、浏览网页内容,测试接口是否部署成功

结果发生了意外,应该是我把程序的文件夹 放在了C盘桌面,故出现权限无法访问配置文件的情况,网上的说法也是这样。

解决方法

按照网上的方法,解决了这个问题,点击浏览

五、调用web接口

调用的方式有两种,一种是用客户提供的WSDL文件进行引用(离线),一种是直接引用URL(这种好像是要连他们的内网才行),我们测试的时候用的是发布在本地文件夹的接口,所以两种都可以。

第六部分有URL生成WSDL文件的方法。

1、通过URL来直接引用

随便打开一个测试项目,右击-引用-添加服务引用

添加引用之后,我们直接通过web引用名,把web接口的类和方法调用。

做了给按钮,直接弹窗显示接口返回的结果。

2、通过WSDL文件调用引用

先通过第六步把WSDL文件下载保存到谋一路径。

我就把wsdl文件生成在D盘

然后在这个添加引用的界面,把这个文件的路径填上去就可以了。

然后右边项目就有了两个服务引用了

一样的调用方法,只是添加的引用来源不太一样。

六、将web接口生成WSDL文件

得知web地址来生成保存关于接口说明的WSDL文件,下面是示例代码。

string Url = "http://192.168.1.101:85/WebService1.asmx";//web地址

string savePath = @"D:\cyb\3-DEMO_CYB\11-Web\WebApplication1\WebApplication1\bin\Publish\";//WSDL文件的输出路径

string FileName = "TestWeb.wsdl";//输出的WSDL文件名

WebClient Web = new WebClient();

if (!Directory.Exists(savePath))

{

Directory.CreateDirectory(savePath);//不存在就创建文件夹

}

Web.DownloadFile($"{Url}?wsdl", savePath + FileName);

用WSDL文件主要是模拟客户给的WSDL文件的情况,因为有了wsdl文件我们可以离线引用web接口。



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。