勇哥注:
wcf的双工通讯,有双工通讯和发布订阅两种方式。
(一)勇哥先来演示“双工通讯”
程序还是使用简单的add计算的例子。
下面是程序的解决方案,为了简单就只有两个项目。
我们把契约、服务、hosting合在一起,变成下面的WcfService项目。

勇哥注:
wcf的双工通讯,有双工通讯和发布订阅两种方式。
(一)勇哥先来演示“双工通讯”
程序还是使用简单的add计算的例子。
下面是程序的解决方案,为了简单就只有两个项目。
我们把契约、服务、hosting合在一起,变成下面的WcfService项目。

勇哥注:这是一个比较容易忘记的点,特别是使用wcf配置工具的时候。
Service的name并不是随便命名的。
<services> <service name="Services.CalculatorService"> <endpoint address="http://127.0.0.1:9999/calculatorservice" binding="basicHttpBinding" bindingConfiguration="" contract="Contracts.ICalculator" /> </service> </services>
先来引用一下关于超时问题的处理的一些资料
本文将定义一个 WCF 终结点行为扩展,以在 WCF 中使用更高效的 BinaryFormatter 进行二进制序列化,并实现对是否使用传统二进制序列化功能的可配置。
勇哥注:
这里比较一下几种宿主环境谁最常用。
(一)这一种是基地+address
写两个<endpoint>
第一个是业务用的,第二个就是元数据交换,地址是: net.pipe://localhost/Dmc3000IAxisAPI/mex,如果你用浏览器可以访问到,地址就是对的。
当然也可以不要基地址,直接写元数据的地址。
<service name="SMotionHardwareLayer.MotionCardRes.DMC3400A.AxisRealization" behaviorConfiguration="Dmc3000IAxisAPI"> <host> <baseAddresses> <add baseAddress="net.pipe://localhost/Dmc3000IAxisAPI"/> </baseAddresses> </host> <endpoint address="" binding="netNamedPipeBinding" bindingConfiguration="" contract="SMotionHardwareLayer.HardwareLayerService.IAxis"/> <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/> </service>
勇哥注:
wcf服务配置器中,有许多少见的概念。在此贴缕一下。
(一)基本操作
Powered By Z-BlogPHP 1.7.3
Copyright www.skcircle.com Rights Reserved.