Net Core下通过Proxy 模式 使用 WCF

.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客户端用于演示用例

按照下面的方法运行这个示例项目:

  1. 下载.NET Core 2.0 SDK&Runtime
  2. 使用Visual Studio 2017 update 3 打开解决方案
  3. 构建解决方案
  4. 打开NetCoreWebApp项目,打开关于引用和恢复软件包的上下文菜单
  5. 运行解决方案(Ctrl + F5 / F5),浏览器中看到以下结果:
时间: 2024-08-25 12:26:35

Net Core下通过Proxy 模式 使用 WCF的相关文章

Net Core下通过Proxy 模式

Net Core下通过Proxy 模式 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插件,下载地址

.Net Core下使用WCF

在.net core 下的wcf 和framework下的wcf使用方式有点不太一样.在core下用wc,需要安装VS扩展Visual Studio WCF Connected Service,目前这个插件不是特别的稳定,经常会出现莫名其妙的错误,前段时间最高支持到.net standard 1.6,可是我用的是.net core 2.0 于是,在同事的提醒下,我先将 .net standard 降为1.6 调用完wcf服务后,再升级为2.0.不会出现任何错误.最近好了,升级到2.0了,直接可以

Proxy模式详解--设计模式(11)

Proxy模式的产生原因:        在某些情况下,一个对象不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用. 当由于某些特定的需要调用的对象在另外一台机器上,需要跨越网络才能访问,在没有WebService的情况下我们需要直接coding去处理网络连接.处理打包.解包等等非常复杂的步骤,而WebService的出现帮我们解决了其中的一些问题简化客户端的处理,我们只需在客户端建立一个远程对象的代理,客户端就象调用本地对象一样调用该代理,再由代理去跟实际对象联

Proxy模式 代理模式

Android的 LocalWindowManager 和 WindowManagerImgl 都实现了WindowManager接口.LocalWindowManager 中保存一个WindowManagerImgl的对象,并将这个对象通过构造对象返回. 即将它的工作委托 WindowManagerImgl 来完成.使用了代理模式 1.概述 因为某个对象消耗太多资源,而且你的代码并不是每个逻辑路径都需要此对象, 你曾有过延迟创建对象的想法吗 ( if和else就是不同的两条逻辑路径) ? 你有

.Net core下的配置设置(二)——Option

我在前面的文章.Net core下的配置设置(一)——Configuration中介绍了.net core下配置文件的读取方法,在.net core中,直接从Configuration对象中读取的并不多,大多是用的配置依赖注入的方式Option,本文这里简单的介绍下它的用法. 首先还是以一个简单的配置文件为例: {  "section": {    "key1": "value2",    "key2": -5  }} 如下是

如何在Windows下用cpu模式跑通py-faster-rcnn 的demo.py

关键字:Windows.cpu模式.Python.faster-rcnn.demo.py 声明:本篇blog暂时未经二次实践验证,主要以本人第一次配置过程的经验写成.计划在7月底回家去电脑城借台机子试试验证步骤的正确性,本blog将根据实际遇到的问题持续更新.另外blog中除提到的下载链接外我还会给出网盘链接方便下载,包括我的整个工程的网盘链接.如果有些报错解决不了可直接拿本人的相关文件替换,本篇blog具有较高的参考性. 本人微软版caffe工程     下载链接:http://pan.bai

Jlink V7在MDK下使用Cortex-M3-Jlink模式开发STM32的说明

Jlink V7在MDK下使用Cortex-M3-Jlink模式开发STM32的说明 开发环境:STM32F103RB(128K Flash 20K RAM)+MDK3.50+JLINK V7(v4.04) mdk3.50 新增一种cortex-ms-Jlink调试模式,可以很好地支持Jlink.Jlink-SWD调试,无RDI需要按复位的缺点.烧写速度比RDI慢一些. 1 软件安装 1.1 安装Segger jlink V4.04驱动 安装在c:\Program Files\SEGGER\JL

.net core下直接执行SQL语句并生成DataTable

.net core可以执行SQL语句,但是只能生成强类型的返回结果.例如var blogs = context.Blogs.FromSql("SELECT * FROM dbo.Blogs").ToList().而不允许返回DataSet.DataTable等弱类型.可能由于这个原因没有实现在.net core中DataTable,然而DataTable还是可能会用到的.我们这里就有一个数据仓库的需求,允许用户自行编写类似SQL语句,然后执行,以表格展示.因为语句是千变万化的,因此我也

Java代理模式(Proxy模式)

理解并使用设计模式,能够培养我们良好的面向对象编程习惯,同时在实际应用中,可以如鱼得水,享受游刃有余的乐趣. Proxy是比较有用途的一种模式,而且变种较多,应用场合覆盖从小结构到整个系统的大结构,Proxy是代理的意思,我们也许有代理服务器等概念,代理概念可以解释为:在出发点到目的地之间有一道中间层,意为代理. 设计模式中定义:为其他对象提供一种代理以控制对这个对象的访问. 为什么要使用代理模式 授权机制 不同级别的用户对同一对象拥有不同的访问权利,如Jive论坛系统中,就使用Proxy进行授