.NET Core下的WCF客户端也是开源的,这次发布.NET Core 2.0,同时也发布了 WCF for .NET Core 2.0.0, 本文介绍在.NET Core下如何通过Proxy 消费WCF服务。
我们现在直接可以在 standard 2.0下调用wcf服务了,不过 Microsoft WCF Web Service Reference Provider 目前是beta阶段,要使用这个插件,需要安装一个Visual Studio插件,下载地址: https://marketplace.visualstudio.com/items?itemName=WCFCORETEAM.VisualStudioWCFConnectedService,使用上有很多不便,博客园有篇博客介绍了这个问题 http://www.cnblogs.com/qulianqing/p/7197302.html。
使用WCF 更好的方式是使用Proxy 模式封装调用WCF服务,把 WCF服务的调用隔离到一个独立的项目中,这个给大家推荐一个github上的示例 https://github.com/geffzhang/netcore-wcf-service-proxy 。
该项目包括:
-
多个WCF服务
- 通过代理类通过消息合同连接的WCF服务的简单示例。
- IoC使用SimpleInjector及其Wcf集成扩展
-
WCF代理实现
- 一个类库项目,它将实际的服务契约与代理实现相结合
- 简单的认证实现(还没实现)
调用的ASP.NET Core客户端用于演示用例
按照下面的方法运行这个示例项目:
- 下载.NET Core 2.0 SDK&Runtime
- 使用Visual Studio 2017 update 3 打开解决方案
- 构建解决方案
- 打开NetCoreWebApp项目,打开关于引用和恢复软件包的上下文菜单
- 运行解决方案(Ctrl + F5 / F5),浏览器中看到以下结果: