什么是MSMQ
Message Queuing(MSMQ) 是微软开发的消息中间件,可应用于程序内部或程序之间的异步通信。主要的机制是:消息的发送者把自己想要发送的信息放入一个容器中(我们称之为Message),然后把它保存至一个系统公用空间的消息队列(Message Queue)中;本地或者是异地的消息接收程序再从该队列中取出发给它的消息进行处理。下图展示了这一流程
![4624570-1795df96cd9ca8b5.jpg](https://upload-images.jianshu.io/upload_images/4624570-1795df96cd9ca8b5.jpg)
MSMQ
MSMQ队列是一个可持久的队列,因此不必担心不间断地插入队列会导致数据的丢失,在网站系统中不用担心网站挂掉后数据丢失问题。
MSMQ微软消息队列,这个是个很好的异步通信技术。非常类似于我们手机发短信,虽然对方关机了,但只要一开机通信服务器仍然自动会传送信息。所以MSMQ有这样的时间监控技术.很实用.可以确保通信的稳定性.
使用MSMQ的基本流程
1. 启动MSMQ服务,【控制面板】--【程序与功能】--【关闭/打开windows功能】--添加MSMQ功能,勾选全部选项。
控制面板->控制面板->所有控制面板项->程序和功能->选中安装
![4624570-f68656ba2d3e472e.png](https://upload-images.jianshu.io/upload_images/4624570-f68656ba2d3e472e.png)
启用MSMQ
2. 创建Message Queue队列。
3. 打开Message Queue队列。
4. 将消息发送至Message Queue队列或者从Message Queue队列中接收消息。
5. 关闭Message Queue队列。
C# 中使用MSMQ
使用MessageQueue类操作MSMQ,其在System.Messaging命名空间下,需要添加引用
定义的接口
public interface IMessageSender<T> : IDisposable
{
/// <summary>
/// 发送消息