皮皮网

【文明重启过检测源码】【焓湿图源码】【在线合同源码】webservice .net 源码

来源:做cdk兑换源码 时间:2024-11-15 01:35:34

1..net webservice 设置编码
2.深夜写完的代码——快速实现.NET(.net framework/.net core+)动态访问webservice服务

webservice .net 源码

.net webservice 设置编码

       ä½ éœ€è¦åœ¨.NET中更改编码以支持GB,并在PL/SQL中对请求进行相应的更改,以使用正确的编码。

       ä¿®æ”¹.NET WebService的编码:在.NET项目的Web.config文件中更改编码,例如:

       <system.web>

           <globalization requestEncoding="gb" responseEncoding="gb" /></system.web>

       ä¿®æ”¹PL/SQL请求的编码:在PL/SQL中更改请求的编码,以使用GB编码,例如:

深夜写完的代码——快速实现.NET(.net framework/.net core+)动态访问webservice服务

       访问webservice服务时,通常采用服务引用方式,然而此法较为繁琐,尤其在服务更新时,需要手动更新引用并重新发布,极为不便。文明重启过检测源码现今,已有多例展示了在.NET Framework环境中实现动态访问webservice服务,却鲜少见到适用于.NET Core及更高版本的案例。本篇文章旨在提供一个通用解决方案,支持.NET Framework、.NET Core或以上环境的动态访问webservice服务接口,以供参考。

       首先,创建一个webservice服务作为测试平台。该服务提供三种接口:无参数接口、字符串参数接口、包含多个实体类参数(实体类包含嵌套和集合)及返回带有嵌套和集合的返回数据。此设计基本涵盖了webservice服务的焓湿图源码主要场景。

       测试实体类已备好,用于验证服务接口。

       服务已启动并就绪。

       接下来,开发请求端程序,支持.NET Framework 4.6.1+、.NET Core+及.NET 5+所有版本。可以通过NuGet引入Wesky.Net.OpenTools包,确保使用最新版本以获取完善功能。在线合同源码本文以.NET 8控制台为例,使用者可根据需求自行调整引用。

       程序中实例化WebserviceHelper对象,对于使用IOC容器的项目(如asp.net core),可进行依赖注入的注册;对于无需IOC容器的项目,直接new对象即可。获取asmx的url地址,并在结尾添加?wsdl。

       设定要访问的贝壳网房源码服务名称,例如“HelloWorld”,然后调用接口。无参数情况下,参数设为null。

       运行程序调用接口,获取xml文档返回值。

       调用返回类型为OpenToolResult,该类型包含基础类型值解析方法。解析后得到的源码还能租吗最终返回消息为“Hello World”。

       基础类型值解析方法定义了获取返回值、节点名称(一般为方法名称+“Result”)及命名空间的过程。命名空间在调用时会被存储在OpenWebserviceInfo的OpenWebservice集合中,通过url地址和接口方法名匹配到对应的命名空间。

       OpenWebserviceDocCache类型定义了存储和管理命名空间的结构。

       接着,尝试传入一个基础类型参数,访问“Hola”方法,传入“Wesky”,成功获取返回值“Wesky World”。

       随后,模拟多个实体类参数的调用,服务应返回一个包含其他实体类的消息。

       回顾TestService服务接口实现,确认动态访问是成功的。

       访问webservice方法定义如下:支持0个或多个参数,参数个数需与解析wsdl地址的方法服务匹配。Result.IsSuccess为true表示请求成功,解析错误或请求失败时返回false,并附带具体错误描述。

       返回值为实体类时,需要调用ExtractCustomerValueFromXml方法进行解析。以ResultInfo类型为例,此方法可处理返回实体类数据。

       关键代码片段已列出,若本教程对你有所助益,请分享给需要的朋友,并关注公众号:Dotnet Dancer。如有需要,公众号后台回复“动态接口”获取演示代码和webservice测试源码。

       OpenTools系列文章链接如下,新版本与旧版本完全兼容,无需更新任何代码即可使用:

       版本1.0.:如何一行C#代码实现解析类型的Summary注释(适用于数据字典快速生成)

       版本1.0.:C#/.NET一行代码将实体类类型转换为Json数据字符串

       版本1.0.8:上位机与工控必备!用.NET快速搞定Modbus通信的方法

       版本1.0.7:揭秘!.Net如何在5分钟内快速实现物联网扫码器通用扫码功能?

       版本1.0.6:.NET实现获取NTP服务器时间并同步(附带Windows系统启用NTP服务功能)

       版本1.0.5:C#使用P/Invoke实现注册表的增删改查功能

       版本1.0.3:C#实现转Base字符串,以及Base字符串在Markdown文件内的复原演示

       版本1.0.2:C#实现Ping远程主机功能(支持IP和域名)

       版本1.0.1:开始开源项目OpenTools的创作(第一个功能:AES加密解密)

       备注此包版本完全开源,无第三方依赖,适用于.net framework 4.6+、任意其他跨平台.net版本环境。