static void Main() { Uri listenUri = new Uri("http://192.168.1.18/listener"); Binding binding = new BasicHttpBinding(); //创建信道监听器 IChannelListener<IReplyChannel> channelListener = binding.BuildChannelListener<IReplyChannel>(listenUri); //打开信道监听器 channelListener.Open(); //创建回复信道 IReplyChannel replyChannel = channelListener.AcceptChannel(TimeSpan.MaxValue); if(replyChannel!=null) { //打开回复信道 replyChannel.Open(); Console.WriteLine("Start Listening"); //开始监听 while (true) { //接收请求消息 RequestContext requestContext = replyChannel.ReceiveRequest(TimeSpan.MaxValue); if (requestContext != null) { //输出请求消息 Console.WriteLine(requestContext.RequestMessage); //回复消息 requestContext.Reply(CreateReplyMessage(binding.MessageVersion)); } } } }
protected override void InitializeRuntime() { BindingParameterCollection bpc = new BindingParameterCollection(); VirtualPathExtension virtualPathExtension = this.Extensions.Find<VirtualPathExtension>(); if (virtualPathExtension != null) { bpc.Add(virtualPathExtension); } BasicHttpBinding basicHttpBinding = new BasicHttpBinding(); IChannelListener<IReplyChannel> listener = basicHttpBinding.BuildChannelListener<IReplyChannel>(interestedUri, bpc); CustomChannelDispatcher channelDispatcher = new CustomChannelDispatcher(serviceManager, listener); this.ChannelDispatchers.Add(channelDispatcher); }
public void StartSv() { var address = new Uri("http://127.0.0.1:9999/messagingviabinding"); BasicHttpBinding binding = new BasicHttpBinding(); IChannelListener<IReplyChannel> channelListener = binding.BuildChannelListener<IReplyChannel>(address); channelListener.Open(); IReplyChannel channel = channelListener.AcceptChannel(); channel.Open(); Console.WriteLine("Begin to listen "); while (true) { RequestContext context = channel.ReceiveRequest(new TimeSpan(1, 0, 0)); Console.WriteLine("Receive a request message:\n{0}", context.RequestMessage); Message replyMessage = Message.CreateMessage(MessageVersion.Soap11, "http://artech.messagingviabinding", "This is a mannualy created reply message for the purpose of testing"); context.Reply(replyMessage); } }
static void Main(string[] args) { Uri listenUri = new Uri(@"http://127.0.0.1:9999/listener"); Binding binding = new BasicHttpBinding(); IChannelListener<IReplyChannel> channelListener = binding.BuildChannelListener<IReplyChannel>(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 void Main(string[] args) { var address = new Uri("http://localhost:1111/MessageViaBinding"); var binding = new BasicHttpBinding(); var channelListener = binding.BuildChannelListener<IReplyChannel>(address); channelListener.Open(); var replayChannel = channelListener.AcceptChannel(); replayChannel.Open(); Console.WriteLine("server channel has open~"); while (true) { var requestContext = replayChannel.ReceiveRequest(); Console.WriteLine("Receive a request message:\n{0}", requestContext.RequestMessage); Message message = Message.CreateMessage(MessageVersion.Soap11, "http://MessageViaBinding", "This is a mannualy created reply message for the purpose of testing"); requestContext.Reply(message); } }
static void Main(string[] args) { Uri listenUri = new Uri("http://127.0.0.1:3721/listener"); Binding binding = new BasicHttpBinding(); // 创建、开启信道监听器 IChannelListener<IReplyChannel> channelListener = binding.BuildChannelListener<IReplyChannel>(listenUri); channelListener.Open(); // 创建、开启回复信道 IReplyChannel channel = channelListener.AcceptChannel(TimeSpan.MaxValue); channel.Open(); while (true) { // 接收输出请求消息 RequestContext requestContext = channel.ReceiveRequest(TimeSpan.MaxValue); Console.WriteLine(requestContext.RequestMessage); // 消息回复 requestContext.Reply(CreateReplyMessage(binding)); } }
public void BuildChannelListenerForHttpEndpoint () { var b = new BasicHttpBinding (); b.Security.Mode = BasicHttpSecurityMode.Transport; b.BuildChannelListener<IReplyChannel> (new Uri ("http://localhost:8080")); }