宁波网站建设一般多少钱,深圳城市规划设计研究官方网站,手机网游,用vue开发的网站在 REST API 出现之前#xff0c;SOAP (Simple Object Access Protocol) 一直都是基于 web 的标准协议#xff0c;虽然现在 REST 大行其道#xff0c;但在平时开发中总会遇到对接第三方服务采用的是基于SOAP协议的场景#xff0c;在这篇文章中#xff0c;我们将会讨论如何… 在 REST API 出现之前SOAP (Simple Object Access Protocol) 一直都是基于 web 的标准协议虽然现在 REST 大行其道但在平时开发中总会遇到对接第三方服务采用的是基于SOAP协议的场景在这篇文章中我们将会讨论如何在 ASP.Net Core 中对接 WCF。创建 WCF WCF 是一个安全可靠的消息平台它提供统一的编程模型便于开发基于面向服务的应用程序你可以使用 WCF 构建基于 SOAP 协议的服务并使用 xml 作为数据交换格式或者基于 REST 的 json 数据交换格式。这一节中首先创建一个 WCF SOAP 服务在创建项目模板的时候选择 WCF Service Application 即可如下图所示值得注意的是WCF 通常由以下几个部分组成。Service 类Service 契约Operation 契约Endpoints 端点Hosting 环境当要使用 WCF需要在类和方法上分别加上ServiceContract 和 OperationContract下面的代码展示了一个契约类仅包含一个契约方法的代码定义。[ServiceContract]public interface IAuthorService{[OperationContract]Liststring GetAuthorNames();}接下来定义一个 AuthorService 服务类实现一下 IAuthorService 接口下面的代码展示了 AuthorService 类的具体定义。public class AuthorService : IAuthorService{public Liststring GetAuthorNames(){Liststring lstAuthors new Liststring();lstAuthors.Add(Joydip Kanjilal);lstAuthors.Add(Steve Smith);lstAuthors.Add(Michael Stevens);return lstAuthors;}}这就是构建 WCF 服务的所有步骤接下来就可以打开浏览器对服务进行简单测试了。在 ASP.Net Core 中使用 SOAP 服务 与传统的 ASP.NET 不同ASP.Net Core 中并没有 Add Service Reference 选项去添加对 WCF 服务地址的引用新的操作方式需要利用 Microsoft WCF Web Service Reference Provider 来进行服务引用如下图所示当点击图中的 Finish 之后VS会自动帮你完成一系列的初始化比如从SOAP服务中下载元数据生成客户端的代理代码自动生成 Reference.cs 文件等等。好了接下来可以在 Controller 中初始化 SOAP Service 然后再调用 Service 端的 GetAuthorNamesAsync() 方法如下代码所示[HttpGet]public async Taskstring[] Get(){ServiceReference1.AuthorServiceClient authorServiceClient new ServiceReference1.AuthorServiceClient();var data await authorServiceClient.GetAuthorNamesAsync();return data;}WCF Connected Service 是 Visual Studio 的一个扩展插件它允许在 ASP.Net Core 项目中实现对 WCF 服务的引用当然除了WCF还可以引用 Azure Storage 服务关于 Azure Storage 的更多细节我会在后面的文章中和大家细聊。译文链接https://www.infoworld.com/article/3323584/how-to-consume-a-wcf-soap-service-in-aspnet-core.html