首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

WCF技术黑幕 第3章 (3)

2013-01-19 
WCF技术内幕 第3章 (3)双工消息交换模式 Duplex MEP双工是指同时发送和接收消息。双工消息交换模式定义了一

WCF技术内幕 第3章 (3)

双工消息交换模式 Duplex MEP

双工是指同时发送和接收消息。双工消息交换模式定义了一个允许接收者和发送者同时发送消息的操作集合,反之亦然。


双工消息交换模式与WSDL

与双工消息交换模式相关的WSDL包含两个操作:一个操作(SomeOperation)表示消息发送给接收者,另外一个操作(SomeCallbackOperation)表示消息从接收者回发给发送者。


双工消息交换模式与WCF契约

双工通信需要两个契约。习惯上,描述发送给接收应用程序的消息(和应答消息,如果有)的契约称为服务契约,描述接收者发送给发送者的契约称为回调契约。这两个契约通过服务契约的ServiceContractAttribute.CallbackContract属性关联。

//Clientusing System;using System.ServiceModel;using CallbackContract;using WcfService4;namespace SendClient{    class Program    {        static void Main(string[] args)        {            NetTcpBinding binding = new NetTcpBinding();            EndpointAddress address=new EndpointAddress(new Uri("net.tcp://localhost:5678/IServiceContract"));            //Set callback instance class for InstanceContext            InstanceContext context=new InstanceContext(new CallbackAPIs());            //Set a InstanceContext            IServiceContract services = DuplexChannelFactory<IServiceContract>.CreateChannel(context, binding, address);            services.Sum(100, 200);            Console.ReadKey();        }    }}

当创建一个双工契约时,要记住操作作为单向操作。设置IsOneWay属性为True可以减少每次消息交互的开销。


Reference: http://www.cnblogs.com/artech/archive/2007/03/02/661969.html

热点排行