以前的项目用到了队列,如今总结一下,下面有很是详细的DEMO,但愿能对有须要的人提供帮助。安全
使用场景:在项目中,将一些无需即时返回且耗时的操做提取出来,进行了异步处理,而这种异步处理的方式大大的节省了服务器的请求响应时间,从而提升了系统的吞吐量。服务器
个人需求很简单,就是多个客户端链接到个人一个小型的数据转发服务器上,开始使用的是Socket通讯实现这个功能,一旦数据服务器接收到来自不一样客户端发来的消息,就对这些消息进行处理(我这里是将数据接收到后再转发到另外一个服务器上),但考虑到客户端是每隔一个很短的时间周期向服务器发送信息,而且链接客服端数量比较多的时候,担忧会产生并发访问的问题,也但愿避免 数据转发服务器 频繁地从多个不一样线程获取信息而出现其余未知问题,因此在处理客户端向数据转发服务器发送信息的时候采起队列的方式。并发
通常状况下,使用MSMQ,首先要安装消息服务,跟安装IIS一个套路,打开启用或关闭Windows功能窗口,找到并勾选MSMQ消息服务,而后点击肯定进行安装,还不明白的百度一下;异步
在VS里添加 Messaging引用,就可使用MessageQueue这个类了;接下来就要思考清楚你的数据(消息)的流向问题,以前由于本身对队列的错误认识,对到底在哪建立队列,队列的消息又由谁去发送和接收没有弄清除,还有参考的一些写得不是太清晰地博文,绕了好大一圈,因此今天在这里以我本身的项目需求为例子,说明 一、如何建立队列 二、如何向队列发送消息 三、 如何获取队列中的消息函数
首先、建立队列:根据个人需求,我要