MSMQ
1.安装MSMQ
2.添加私有的队列
3.MSMQ可以发送的类型可以是任意类型,包括类
static string strServer = @"FormatName:Direct=TCP:10.7.46.42\private$\msmq";
static void Main(string[] args)
{
DeleteAllMessage();
SendMessage();
ReveiveMessage();
}
public static void DeleteAllMessage()
{
MessageQueue myQueue = new MessageQueue(strServer);
myQueue.Purge(); //删除此队列中包含的所有消息
myQueue.Dispose();
}
public static void SendMessage()
{
MessageQueue myQueue = new MessageQueue(strServer);
Message myMessage = new Message();
try
{
myMessage.Body = new Person() { Name = "jake", Age = 29, Birthday = Convert.ToDateTime("1987/07/20") };
myMessage.Formatter = new XmlMessageFormatter(new Type[] { typeof(Person) });
//设置消息发送的优先级别
myMessage.Priority = MessagePriority.Highest; //最高消息优先级
myQueue.Send(myMessage);
}
catch(Exception ex)
{
}
finally
{
myMessage.Dispose();
myQueue.Dispose();
}
}
public static void ReveiveMessage()
{
//连接到本地队列
MessageQueue myQueue = new MessageQueue(strServer);
myQueue.Formatter = new XmlMessageFormatter(new Type[] { typeof(Person) });
Message myMessage = null;
try
{
int count = myQueue.GetAllMessages().Length;
//从队列中接收消息
//Peek: 返回队列中第一条消息的副本,而不从队列中移除该消息
//Receive: 接收队列中的第一条消息,但不将它从队列中移除
//PeekById: 返回具有指定消息标识符的消息的副本,但不从队列中移除消息
//ReceiveById: 接收匹配给定标识符的消息,并将其从队列中移除
myMessage = myQueue.Receive();
Person p = (Person)myMessage.Body; //获取消息的内容
Console.WriteLine("Name:" + p.Name);
Console.WriteLine("Age:" + p.Age.ToString());
Console.WriteLine("Birthday:" + p.Birthday.ToString("yyyy/MM/dd"));
count = myQueue.GetAllMessages().Length;
Console.ReadLine();
}
catch
{
Console.WriteLine("error4");
}
finally
{
myMessage.Dispose();
myQueue.Dispose();
}
}
MSMQ的更多相关文章
- MSMQ学习
一.理论准备 MSMQ(MicroSoft Message Queue,微软消息队列)官方的解释是:在多个不同的应用之间实现相互通信的一种异步传输模式,相互通信的应用可以分布于同一台机器上,也可以分布 ...
- 基于ajax与msmq技术的消息推送功能实现
周末在家捣鼓了一下消息推送的简单例子,其实也没什么技术含量,欢迎大伙拍砖.我设计的这个推送demo是基于ajax长轮询+msmq消息队列来实现的,具体交互过程如下图: 先说说这个ajax长轮询,多长时 ...
- 已经过事务处理的 MSMQ 绑定(转载)
https://msdn.microsoft.com/zh-cn/biztalk/ms751493 本示例演示如何使用消息队列 (MSMQ) 执行已经过事务处理的排队通信. 注意 本主题的末尾介绍了此 ...
- 基于WCF MSMQ 的企业应用解决方案
最近研究了一下基于MSMQ的WCF应用,从书上.网上查了很多资料,但始终没能彻底理解WCF-MSMQ的工作原理,也没能得到一个合理的应用解决方案.索性还是自己做个实验,探索一下吧.经过反复试验,颇有收 ...
- 使用MSMQ 远程队列
------------------------------------------------------------------------------------------------- -- ...
- Redis学习笔记~实现消息队列比MSMQ更方便
什么是队列:简单的说就是数据存储到一个空间里(可以是内存,也可以是物理文件),先存储的数据对象,先被取出来,这与堆栈正好相反,消息队列也是这样,将可能出现高并发的数据进行队列存储,并按着入队的顺序依次 ...
- 详解.Net消息队列(MSMQ)应用
[IT168 技术文档]MSMQ是Windows 2000.Windows XP.Windows Server 2003的一个组件,并将继续包含在Windows Vista和以后的Windows服务器 ...
- 利用Ajax+MSMQ(消息队列)+WebService实现服务器端向客户端的信息推送
需求: 每当数据库有数据更新时,推送到客户端 软需求: 1.服务器资源有限,要求资源占用尽可能小: 2.项目可控,不许调用第三方不可信不稳定的方法. 已有事例: 1.58到家采用的方法是TCP的长连接 ...
- MSMQ消息队列 用法
引言 接下来的三篇文章是讨论有关企业分布式开发的文章,这三篇文章筹划了很长时间,文章的技术并不算新,但是文章中使用到的技术都是经过笔者研究实践后总结的,正所谓站在巨人的肩膀上,笔者并不是巨人,但也希望 ...
随机推荐
- 深入浅出HTTP请求(转自http://www.cnblogs.com/yin-jingyu/archive/2011/08/01/2123548.html)
HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则.计算机专家设计出HTTP,使HTTP客户(如Web浏览器)能够从HTTP服务器(Web服务 器)请 ...
- Acer-宏碁电脑BOIS
进入电脑BOIS界面; 1.开机(一闪而过)注意第一屏左下角,会有进入BIOS按键提示. 2.如一开机没有进入BIOS的键值提示,取而代之的是品牌机的Logo,可参阅以下列表:不是品牌机可参阅主板设置 ...
- php无限分类
无限循环 1.需要套2个foreach 2.2个foreach结构一样 纯代码获取数据 ){ $where['parent_id']= $parent_id; $res = $this->m-& ...
- Centos6.5 Zabbix3 server端安装(一)
一.准备阶段: 1.>关闭防火墙 /etc/init.d/iptables stop 2.>关闭selinux vim /etc/selinux/config SELINUX=disabl ...
- 在ie浏览器,360浏览器下,margin:0 auto;不居中的原因
转自 http://blog.sina.com.cn/s/blog_6eef6bf60100nn4m.html margin:0 auto:不居中可能有以下两个的原因 没有设置宽度 看看上面的代码,根 ...
- HDU 1003 maxsum
#include<iostream> #include<vector> using namespace std; typedef struct { int maxsum; in ...
- Js中文排序(拼音首字母)
演示地址:http://lar5.sinaapp.com/ 1.index.html <html xmlns="http://www.w3.org/1999/xhtml"&g ...
- Spring各jar包的作用
spring.jar是包含有完整发布的单个jar 包,spring.jar中包含除了spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到 spring-m ...
- 第三次个人作业—“K米”评测
第一部分 调研,评测 评测 1.上手体验: 软件欢迎界面,色彩对比鲜明,前三图深色调,最后一条则充满了艳丽的色彩,让人对这个产品突然充满了期待. 软件界面加载速度慢,很多地方点击进去要等好久才能出现界 ...
- Hibernate参数一览表
参考文章地址:http://www.blogjava.net/i369/articles/194855.html Hibernate 参数设置一览表 属性名 用途 hibernate.dialect ...