首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我的WCF之旅(12):使用MSMQ进行Reliable Messaging

一、为什么要使用MSMQ 在一个分布式的环境中,我们往往需要根据具体的情况采用不同的方式进行数据的传输。...我们今天就来谈谈在WCF中如何使用MSMQ。 MSMQ不仅仅是作为支持客户端连接工具而存在,合理的使用MSMQ可以在很大程度上提升系统的Performance和Scalability。...所以MSMQ使用于那些对于用户的请求,Server端无需立即响应的场景。也就是说Server对数据的处理无需和Client的数据的发送进行同步,它可以独自地按照自己的Schedule进行工作。...二、 MSMQ在WCF的运用 在WCF中,MSMQ提供的数据传输功能被封装在一个Binding中,提供WCF Endpoint之间、以及Endpoint和现有的基于MSMQ的Application进行通信的实现...为此WCF为我们提供了两种不同的built-in binding: NetMsmqBinding:从提供的功能和使用 方式上看,NetMsmqBinding和一般使用的binding,比如basicHttpBinding

43930

原 WCF学习之旅----基础篇之MSMQ

Console.WriteLine("已经创建了一个公共队列{0}", mq.Label);             //        Console.WriteLine("公共队列{0}的路径为...{1}",mq.Label, mq.Path);             //        mq.Send("MSMQ 消息", "今天又学到个有趣的知识");             //    }...))             //{             //    mq.Send("发送公共消息队列" + DateTime.Now.ToLongTimeString(), "今天又学到个有趣的知识...{1}", mq.Label, mq.Path);                                 mq.Send("MSMQ 私有队列消息" + "今天又学到个有趣的知识");                             ...Message msg in mq.GetAllMessages())                    {                        Console.WriteLine("接收到的消息是

47240
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    我的WCF之旅(13):创建基于MSMQ的Responsive Service

    下图简单表述了基于MSMQ的WCF Service中Client和Service的交互。 ? 但是在有些场景 中,这是无法容忍的。再拿我在上一篇文章的Order Delivery的例子来说。...要在WCF中实现这样的目的,对于Request/Reply MEP来说是简单而直接的:Client向Service递交Order,并等待Service的Response,Service在处理接收到Order...但是我们说过MSMQ天生就是异步的,我们只有采取一种间接的方式实现“曲线救国”。...我们的解决方案是:在每个Client Domain也创建一个基于MSMQ的本地的WCF Service,用于接收来自Order处理端发送的Acknowledge Message。...除了一贯使用的4层结构(Contract-Service-Hosting-Client),还为ResponseService增加了下面两层: Localservice: 作为Client Domain

    76470

    《WCF的绑定模型》博文系列汇总

    在过去的若干年中, 微软先后推出了一系列广受欢迎的通信技术, 比如DCOM、Enterprise Service、.NET Remoting、XML Web Service、MSMQ等等。...WCF是所有的这些通信技术集大成者,它充分地整合了所有这些使用于不同领域、不同场景的通信技术,提供了一个统一的编程模型。...绑定通过创建信道栈实现了消息的编码与传输,以及对WS-*协议的实现。WCF绑定模型涉及多种类型的组件,比如信道、信道监听器、信道工厂等等。...在WCF中,所有的信道管理器,不管是位于服务端的信道监听器还是客户端的信道工厂,都继承自一个基类:.ChannelManagerBase。...在整个过程中,监听器处于核心的地位,而WCF中的信道监听器就起着这样的作用。

    523100

    IIS 5.x与ASP.NET

    至于IIS下的监听器,除了基于网络驱动的HTTP.SYS提供HTTP请求监听功能外,WCF提供了3种类型的监听器:TCP监听器、命名管道(Named Pipes)监听器和MSMQ监听器,分别提供了基于TCP...、命名管道和MSMQ传输协议的监听功能。...WCF提供的这3种监听器和监听适配器定义在程序集SMHost.exe中,你可以通过下面的目录找到该程序集:%windir%\Microsoft.NET\Framework\v3.0\Windows Communication...WCF提供的这3种监听器和监听适配器最终以Windows Service的形式体现,虽然它们定义在一个程序集中,我们依然通过服务工作管理器(SCM,Service Control Manager)对其进行单独的启动...提供基于MSMQ的激活请求,包含MSMQ监听器和对应的监听适配器。

    2.8K20

    WCF技术剖析系列总结篇

    在《WCF技术剖析》写作期间,对WCF又有了新的感悟,为此以书名开始本人的第三个WCF系列。...在介绍IIS7.0的时候,我们谈到,HTTP.SYS+W3SVC实现了基于HTTP的请求监听,在此基础上引入了三组网络监听器(Listener)和监听适配器(Adapter),实现了基于TCP、Named...Pipes和MSMQ的网络监听。...只有在ASP.NET兼容模式下,我们熟悉的一些ASP.NET机制才能被我们使用,比如通过HttpContext的请求下下文;基于文件或者Url的授权;HttpModule扩展;身份模拟(Impersonation...问题是这样的,他说他采用ASP.NET应用程序的方式对定义的WCF服务进行寄宿(Hosting),并使用配置的方式对服务的BaseAddress进行了设置,但是在创建ServiceHost的时候却抛出InvalidOperationException

    1K90

    msmq发送速度的测试

    在一些并发量比较高的"中小型"应用中,如果短期内有大量的数据插入,利用msmq中转是一个不错的选择(petshop就是这么干的),想知道msmq一秒钟内到底能发多少条记录吗?  ...i.ToString().PadLeft(8, '0'); 27 //msg.Recoverable = true;//设置消息可恢复(即服务器重启后,消息还在,但是启用这个选项将会使发送时间加倍,因为"可恢复"的机制就是先在服务器硬盘生成文本文件...,多了一次写文件的IO操作) 28                 queue.Send(msg); 29             } 30 31             stopWatch.Stop...                } 64             } 65 66             Console.ReadLine(); 67         } 68     } 69 } 70 71 在我的IBM...T60上跑出来的结果,大概1s钟能发2500条左右(也就是说下订单的话,一秒钟能顺畅下2500张单子,中小型购物系统中应该够用了)

    1.7K90

    WCF中的Binding模型之一: Binding模型简介

    在过去的若干年中, 微软先后推出了一系列广受欢迎的通信技术, 比如DCOM、Enterprise Service、.NET Remoting、XML Web Service、MSMQ等等。...WCF是所有的这些通信技术集大成者,它充分地整合了所有这些使用于不同领域、不同场景的通信技术,提供了一个统一的编程模型。...在服务端,通过信道监听器对服务请求进行监听,当请求消息被成功检测,则通过信道监听器创建信道栈对请求消息进行接收和处理;在客户端,信道栈被信道工厂创建,并用于请求消息的处理和发送。...那就需要使用到另一个有用的对象:绑定上下文(binding context)对象,一般来说,一个绑定上下文维护着基于该绑定对象当前绑定元素的有序列表,可以很容易地定位到下一个绑定元素。...中的Binding模型]之三:信道监听器(Channel Listener) [WCF中的Binding模型]之四:信道工厂(Channel Factory) [WCF中的Binding模型]之五:绑定元素

    78780

    WCF中的Binding模型之一: Binding模型简介

    在过去的若干年中, 微软先后推出了一系列广受欢迎的通信技术, 比如DCOM、Enterprise Service、.NET Remoting、XML Web Service、MSMQ等等。...WCF是所有的这些通信技术集大成者,它充分地整合了所有这些使用于不同领域、不同场景的通信技术,提供了一个统一的编程模型。...在服务端,通过信道监听器对服务请求进行监听,当请求消息被成功检测,则通过信道监听器创建信道栈对请求消息进行接收和处理;在客户端,信道栈被信道工厂创建,并用于请求消息的处理和发送。...那就需要使用到另一个有用的对象:绑定上下文(binding context)对象,一般来说,一个绑定上下文维护着基于该绑定对象当前绑定元素的有序列表,可以很容易地定位到下一个绑定元素。...中的Binding模型]之三:信道监听器(Channel Listener) [WCF中的Binding模型]之四:信道工厂(Channel Factory) [WCF中的Binding模型]之五:绑定元素

    93960

    快速入门系列--WCF--01基础概念

    记得从自己最开始做MFC时,就使用过Named Pipe命名管道,之后做Winform时,使用过Remoting,再之后做B/S架构时,就会经常使用.NET平台下的Web Service,直到使用上WCF...看上去有了一些WCF的使用经验,实则不然,比如对安全、分布式事务、可靠会话等主题仍然接触甚少,因而决定重新回顾学习一下相关知识,尤其是对WCF框架的理解(已于2015年开源,可下载源码,https://...MSMQ(Message Queuing):MSMQ通过异步通信的方式,解耦了服务的提供者和调用者,为系统提供了可观的伸缩性和可用性,并支持可靠信息传输、错误处理和对事务的支持。...其URI格式为: net.msmq://sory.com/private/xxxservice 之前提及的核心概念终结点在WCF中,通过System.ServiceModel.Description.ServiceEndpoint...一般来说,企业内部的服务推荐使用RPC类型的服务,如NetTcpBinding,而对外服务推荐使用WSHttpBinding,当然实际项目中,对外服务一般不会使用WCF框架,而是使用Restful风格的

    1.1K100

    WCF系统内置绑定列表与系统绑定所支持的功能

    此绑定使用HTTP作为传输协议,并使用文本/XML作为默认的消息编码 HTTP/HTTPS Text,MTOM WSHttpBinding 一个安全且可互操作的绑定,适合于非双工服务约定...并支持联合安全性 HTTP/HTTPS Text,MTOM NetTcpBinding 一个安全且经过优化的绑定,适用于WCF应用程序之间跨计算机的通信 TCP Binary...NetNamedPipeBinding 一个安全,可靠且经过优化的绑定,适用于WCF应用程序之间跨计算机的通信 IPC Binary MsmqIntegrationBinding... 一个绑定,适用于WCF应用程序和现有消息队列(也称为MSMQ)应用程序之间跨计算机的通信 MSMQ Binary NetMsmqBinding 一个排队绑定,适用于WCDF应用程序之间跨计算机的通信 MSMQ Binary NetPeerTcpBinding 一个支持多计算机安全通信的绑定 P2P Binary

    65410

    WCF技术剖析之二:再谈IIS与ASP.NET管道

    至于IIS下的监听器,除了基于网络驱动的HTTP.SYS提供HTTP请求监听功能外,WCF提供了3种类型的监听器:TCP监听器、命名管道(Named Pipes)监听器和MSMQ监听器,分别提供了基于TCP...、命名管道和MSMQ传输协议的监听功能。...WCF提供的这3种监听器和监听适配器定义在程序集SMHost.exe中,你可以通过下面的目录找到该程序集:%windir%\Microsoft.NET\Framework\v3.0\Windows Communication...WCF提供的这3种监听器和监听适配器最终以Windows Service的形式体现,虽然它们定义在一个程序集中,我们依然通过服务工作管理器(SCM,Service Control Manager)对其进行单独的启动...:为WAS提供基于MSMQ的激活请求,包含MSMQ监听器和对应的监听适配器。

    1.6K110

    C# WCF服务

    2:WCF能做什么 WCF 整合ASMX,.Net Remoting,Enterprise Service,WSE,MSMQ等技术,主要用于在分布式系统中提高网络和服务的支持,寄宿的宿主可以是命令行控制台...WCF是对于ASMX,.Net Remoting,Enterprise Service,WSE,MSMQ等技术的整合。...即使对于WCF和ASMX而言,虽然两者都使用了SOAP,但基于WCF开发的应用程序,仍然可以直接与ASMX进行交互。 4:可扩展性。 WCF提供可扩展性,可以支持出新的web服务标准。...协议:WCF支持多种协议,即HTTP,命名管道,TCP和MSMQ;而Web服务仅支持HTTP协议。...异常处理:在WCF中,未处理的异常都是在一个更好的方式通过使用FaultContract处理,并没有得到Web服务SOAP(简单对象访问协议)故障返回给客户端等。

    92620

    WCF技术剖析之二:再谈IIS与ASP.NET管道

    至于IIS下的监听器,除了基于网络驱动的HTTP.SYS提供HTTP请求监听功能外,WCF提供了3种类型的监听器:TCP监听器、命名管道(Named Pipes)监听器和MSMQ监听器,分别提供了基于TCP...、命名管道和MSMQ传输协议的监听功能。...WCF提供的这3种监听器和监听适配器定义在程序集SMHost.exe中,你可以通过下面的目录找到该程序集:%windir%\Microsoft.NET\Framework\v3.0\Windows Communication...WCF提供的这3种监听器和监听适配器最终以Windows Service的形式体现,虽然它们定义在一个程序集中,我们依然通过服务工作管理器(SCM,Service Control Manager)对其进行单独的启动...:为WAS提供基于MSMQ的激活请求,包含MSMQ监听器和对应的监听适配器。

    1.2K41

    《WCF技术剖析(卷2)》目录

    WCF中的同步上下文与线程亲和性 4.3. 流量限制(Throttling) 4.3.1. 如何进行限流控制? 4.3.2. WCF限流控制是如何实现的?...MSMQ简介 6.1.1. MSMQ能解决什么问题? 6.1.2. MSMQ的安装 6.1.3. 消息队列 6.1.4. MSMQ编程 6.2. 从队列服务的终结点谈起 6.2.1....通过定义四种行为对WCF的扩展 9.3.1. WCF四种类型的行为 9.3.2. 行为方法的执行 9.3.3. 实例演示:通过扩展确保语言文化一致性(S901) 9.4....实例演示:通过扩展实现基于IoC的服务实例的创建(S903,S904) 第10章 WCF 4.0新特性(New Features in WCF 4.0) 10.1. 简化开发体验 10.1.1....路由服务就是一个WCF服务 10.3.2. 基于消息内容的路由策略 10.3.3. 实例演示:如果使用路由服务(S1001) 10.3.4. 其他路由特性 10.3.

    1.3K90

    WCF 学习总结2 -- 配置WCF

    在默认的App.config中,使用的是WCF Framework定义好的wsHttpBinding默认配置,所以看不到binding配置节。 ? 配置节展开如下图: ?...wsdl 查看到公开的服务描述。 配置节展开如下图: ? 关于WCF中的地址和绑定,需要补充一下。...WCF中支持的传输协议包括HTTP、TCP、Peer network(对等网)、IPC(基于命名管道的内部进程通信)以及MSMQ(微软消息队列),每个协议对应一个地址类型: HTTP地址:http://...地址: net.msmq://localhost/ 对等网地址: net.p2p://localhost/ WCF中提供的绑定有: BasicHttpBinding: 最简单的绑定类型,通常用于 Web...MsmqIntegrationBinding: 使用现有的消息队列系统进行跨机器通讯。如 MSMQ。 ------ 弱弱的分隔线 ----- OK,有了上面的基础,就让WCF风暴来的猛烈些吧。

    1K70
    领券