博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WCF信道绑定代码
阅读量:5313 次
发布时间:2019-06-14

本文共 2451 字,大约阅读时间需要 8 分钟。

监听端创建信道Listener,代码

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.ServiceModel;using System.ServiceModel.Channels;namespace Artech.MessagingVisBinding.Listener{    class Program    {        static void Main(string[] args)        {            Uri listenUri = new Uri("http://127.0.0.1:9999/listener");            Binding binding = new BasicHttpBinding();            IChannelListener
channelListener = binding.BuildChannelListener
(listenUri); channelListener.Open(); IReplyChannel channel = channelListener.AcceptChannel(TimeSpan.MaxValue); channel.Open(); Console.WriteLine("开始监听。。。"); while (true) { RequestContext requestContext = channel.ReceiveRequest(TimeSpan.MaxValue); Console.WriteLine("接受到请求信息:\n{0}",requestContext.RequestMessage); requestContext.Reply(CreateReplyMessage(binding)); } } static Message CreateReplyMessage(Binding binding) { string action = "urn:artech.com/reply"; string body = "这是一个简单的回复消息!"; return Message.CreateMessage(binding.MessageVersion, action, body); } }}
View Code

发送端创建信息Sender,代码

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.ServiceModel.Channels;using System.ServiceModel;namespace Artech.MessagingViaBinding.Sender{    class Program    {        static void Main(string[] args)        {            Uri listenUri = new Uri("http://127.0.0.1:9999/listener");            Binding binding = new BasicHttpBinding();            IChannelFactory
channelFactory = binding.BuildChannelFactory
(); channelFactory.Open(); IRequestChannel channel = channelFactory.CreateChannel(new EndpointAddress(listenUri)); channel.Open(); Message replyMessage = channel.Request(CreateRequestMessage(binding)); Console.WriteLine("接收到的消息\n{0}", replyMessage); Console.Read(); } static Message CreateRequestMessage(Binding binding) { string action = "urn:artech.com/request"; string body = "这是一个简单的请求消息!"; return Message.CreateMessage(binding.MessageVersion, action, body); } }}
View Code

 

转载于:https://www.cnblogs.com/chinaagan/p/3383375.html

你可能感兴趣的文章
新建一个去除storyboard的项目
查看>>
webpack热更新 同时导出文件到本地
查看>>
微信电脑版不断崩溃
查看>>
js链式调用
查看>>
The connection to adb is down, and a severe error has occured
查看>>
牛腩新闻系统(二)——原型图、数据库文档
查看>>
数字统计
查看>>
asp.net 文件操作小例子(创建文件夹,读,写,删)
查看>>
20180620小测
查看>>
7年,OpenStack从入门到放弃|送书
查看>>
部署mariadb高可用
查看>>
iptables设置规则
查看>>
聊聊setTimeout和setInterval线程
查看>>
计算机经典书箱
查看>>
克隆节点及添加属性节点
查看>>
SQL入门经典(八)之存储过程
查看>>
Chrome/FireFox处理JSON的插件
查看>>
【转】ACM之Java新手速成
查看>>
日志分析工具 Log Parser
查看>>
18 HTML标签以及属性全
查看>>