做上位机,难免遇到需要和总控/MES等系统进行对接,那必然少不了接口的调用。例如WebServices;简单的用法请参考以下文章
C# Web Service 根据WSDL文件和地址添加web引用
可站在标准的开发过程,考虑到后期的扩展性、可维护性,那就需要做到类模块抽离,以满足后期的维护等。因此考虑到使用WSDL的方式来调用接口。
鉴于我使用的是VS2022这个IDE,所以以下内容均以VS2022为例展开介绍如何在C#项目中高效使用WSDL。
介绍一种最简单的获取方法:
wsdl /language:c# /n:GeneralControlService /out:C:\ApiService.cs C:\api.wsdl
参数说明:
序号 | 参数 | 作用 |
---|---|---|
1 | /language:C# | 指定编程语言为 C# |
2 | /n:GeneralControlService | 指定名称空间为 GeneralControlService |
3 | /out: | 指定文件保存路径和文件名 ApiService.cs,可以使用绝对路径也可以使用相对路径 |
4 | C:\api.wsdl | wsdl文件路径,也可以是网络路径(如:http://www.xxx.com/ApiService?wsdl) |
完成此步骤后,就可以看到ApiService.cs文件了
还是步骤一的控制台(命令提示符)不要关,键入指令:
csc /t:library ApiService.cs
在相同路径下,生成了ApiService.dll文件,拷贝到项目下,添加引用就可以了。
using GeneralControlService;
GeneralControlServiceis = new GeneralControlService();
或者
GeneralControlService.WebServiceTask webService = new GeneralControlService.WebServiceTask();
webService.XXX();