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

WCF技术黑幕 第3章 (2)

2013-01-22 
WCF技术内幕 第3章 (2)请求/应答消息交换模式请求/应答和WSDL代码里的wsdl:input和wsdl:output元素的顺序

WCF技术内幕 第3章 (2)

请求/应答消息交换模式


请求/应答和WSDL

代码里的wsdl:input和wsdl:output元素的顺序暗示了在一个应答消息发送以前,请求消息必须先被接收。


请求/应答和WCF契约

WCF操作契约默认使用请求/应答消息交换模式。任何WCF认为可序列化的类型都可以指定为一个返回类型。

//Requesterusing System;using System.ServiceModel;using System.Text;using WcfServiceApp3;namespace RequesterApp{    class Program    {        static void Main(string[] args)        {            WSHttpBinding binding = new WSHttpBinding();            binding.TextEncoding = Encoding.UTF8;            binding.MessageEncoding = WSMessageEncoding.Text;            EndpointAddress address=new EndpointAddress("http://localhost:9876/IActionsService");            ChannelFactory<IActionsService> channelFactory = new ChannelFactory<IActionsService>(binding, address);            IActionsService service = channelFactory.CreateChannel();            Console.WriteLine("Begin send request...");            int res = service.Sum(100, 200);            Console.WriteLine("Got the response...");            Console.WriteLine("Print the result:{0}", res);            Console.ReadKey();        }    }}

传输考虑

当WCF最初发布的时候,还没有对于使用MSMQ的请求/应答消息交换模式的直接支持,同样也不支持UDP。

当使用像TCP,HTTP或命名管道这样的传输时,接收者可以通过反向通道发送应答消息。在这些场景里,WS-addressing表示应答消息应该发送到<ReplyTo>消息头定义的地址。

热点排行