MSMQ研究
开发过程记录如下:
1、 本机配置MSMQ ------控制面板-------启动或者关闭Windows功能----默认安装MSMQ即可
注意:本地安装后再VS中才能引用System.Messaging;
安装后:计算机管理界面出现消息队列

2.创建控制台程序
引用:
using System.Configuration;
using System.Messaging;

3.MSMQ传递消息格式为XML 或二进制
获取指定路径下的所有XML文本
发送到本地队列中
#region 使用本地初始化信息队列
//MessageQueue messageQueue = null;
// if (MessageQueue.Exists(@".\private$\MQtest1"))
// {
// messageQueue = new MessageQueue(@".\Private$\MQtest1");
// messageQueue.Label = "MQtesting";
// }
// else
// {
// messageQueue = MessageQueue.Create(@".\Private$\MQtest1");
// messageQueue.Label = "MQtest1";
// }
#endregion
#region 获取路径下所有xml文件
string path = ConfigurationManager.AppSettings["path"].ToString();
var files = Directory.GetFiles(path, "*.xml");
//messageQueue.Formatter = new XmlMessageFormatter(files);
foreach (var file in files)
{
//打印测试是否获取到文件
//Console.WriteLine(file);
//加载xml内容
XmlDocument doc = new XmlDocument();
doc.Load(file);
string xs = doc.InnerXml;
Message ms = new Message();
ms.Formatter = new System.Messaging.XmlMessageFormatter(new Type[] { typeof(string) });
ms.Body = xs;
messageQueue.Send(ms);
}
#endregion
生成结果:

4.发送消息到远端MSMQ
远端无需创建,无需验证是否存在
#region 使用远端队列
//string queuepath = ConfigurationManager.AppSettings["hxqueue"].ToString();
MessageQueue messageQueue = new MessageQueue(@"FormatName:Direct=TCP: (远端IP) \private$\SoarMQtest1");
#endregion
发送消息后,本地会出现传出队列
如图:

远端MSMQ会出现消息数据:

5.消息的序列化和消息的接收
System.Messaging.Message mes = messageQueue.Receive();//获取单条数据(如果没有数据,当前进程会被阻塞)
mes.Formatter = new System.Messaging.XmlMessageFormatter(new Type[] { typeof(string) });
string message = mes.Body.ToString();
Console.WriteLine(message);
1、全部获取,循环处理?
2、线程逐个抓取,逐个处理?
还需要研究部分:
1、 把控制台程序写成后台服务?监听文件夹中文件,
2、 发送到MSMQ的数据如果保存到对应磁盘
3、 除了string类型,是否有其他类型传输方式
MSMQ研究的更多相关文章
- 基于WCF MSMQ 的企业应用解决方案
最近研究了一下基于MSMQ的WCF应用,从书上.网上查了很多资料,但始终没能彻底理解WCF-MSMQ的工作原理,也没能得到一个合理的应用解决方案.索性还是自己做个实验,探索一下吧.经过反复试验,颇有收 ...
- MSMQ消息队列 用法
引言 接下来的三篇文章是讨论有关企业分布式开发的文章,这三篇文章筹划了很长时间,文章的技术并不算新,但是文章中使用到的技术都是经过笔者研究实践后总结的,正所谓站在巨人的肩膀上,笔者并不是巨人,但也希望 ...
- (转)MSMQ续
原文作者:虔诚者 点此传送至原文 在上一篇我简单介绍了MSMQ的相关概念,本篇将以代码说明 Message Message是MSMQ的数据存储单元,我们的用户数据一般也被填充在Message的b ...
- (转)MSMQ(消息队列)
原文作者:虔诚者 点此传送至原文 前段时间研究WCF接触到了MSMQ,所以认真的学习了一下,下面是我的笔记. 我理解的MSMQ MSMQ可以被看成一个数据储存装置,就如同数据库,只不过数据存 ...
- MSMQ(消息队列)续
在上一篇我简单介绍了MSMQ的相关概念,本篇将以代码说明 Message Message是MSMQ的数据存储单元,我们的用户数据一般也被填充在Message的body当中,因此很重要,让我们来看一看其 ...
- MSMQ(消息队列)
前段时间研究WCF接触到了MSMQ,所以认真的学习了一下,下面是我的笔记. 我理解的MSMQ MSMQ可以被看成一个数据储存装置,就如同数据库,只不过数据存储的是一条一条的记录,而MSMQ存储的是一个 ...
- WCF MSMQ
基于WCF MSMQ 的企业应用解决方案 最近研究了一下基于MSMQ的WCF应用,从书上.网上查了很多资料,但始终没能彻底理解WCF-MSMQ的工作原理,也没能得到一个合理的应用解决方案.索性还是 ...
- MSMQ .NET下的应用
Message Message是MSMQ的数据存储单元,我们的用户数据一般也被填充在Message的body当中,因此很重要,让我们来看一看其在.net中的体现,如图: 在图上我们可以看见,Messa ...
- 实战WCF中net.tcp和net.msmq绑定协议
平时很少写博文的,以前都是转载其他园友的文章,这几天有时间就自己尝试写一些wcf相关的文章,希望能给有需要的人带来一点帮助吧,水平有限再加上初次动手,写得不好还请多多包含!废话不多说了直接进入正题. ...
随机推荐
- PHP array_unique()函数去除重复元素
定义和用法 array_unique() 函数移除数组中的重复的值,并返回结果数组. 当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除. 返回的数组中键名不变. 语法 array_uniq ...
- 【正则表达式1】C++11正则表达式
https://www.cnblogs.com/pukaifei/p/5546968.html [正则表达式1]C++11正则表达式 头文件 #include <regex> rege ...
- WP8.1学习系列(第十八章)——Windows Phone 交互和可用性
本主题讨论了布局会对应用的可用性产生怎样的影响.在应用的可用性上下文中还讨论了其他常用 UI,例如搜索和设置. 在继续使用控件和交互之前,请执行以下操作: 有关概念化应用的策略,请参阅尽你所能,设计最 ...
- 【MySQL】 Cannot load from mysql.proc. The table is probably corrupted
解决办法 在 mysql 这张表里边.执行sql ALTER TABLE `proc` MODIFY COLUMN `comment` text CHARACTER SET utf8 COLLATE ...
- shell截取字符串的一些简单方法
一.使用${} 1.${var##*/}该命令的作用是去掉变量var从左边算起的最后一个'/'字符及其左边的内容,返回从左边算起的最后一个'/'(不含该字符)的右边的内容.使用例子及结果如下:
- 原生js--文档加载时间
onload触发时机:文档和所有的图片都加载完毕 DOMContentLoaded触发时机:文档加载并解析完毕,所有deferred脚本执行完毕.但此时图片和async脚本可能依旧在加载. ready ...
- 【CF718E】Matvey's Birthday BFS+动态规划
[CF718E]Matvey's Birthday 题意:给你一个长度为n的,由前8个小写字母组成的字符串s.构建一张n个点的无向图:点i和点j之间有一条长度为1的边当且仅当:|i-j|=1或$s_i ...
- [C#/Java] C#中调用Servlet示例
需求 通用消息接口使用servlet作为服务器端服务接口,第三方应用程序通过http post的方式调用servlet,实现与通用消息接口的调用连接. 参数说明如下: msgTitle:消息标题,描述 ...
- [工具] 将Sublime Text 3配置为Java代码编辑器
新建编译器选项 选择菜单栏中的 Tools ——> Build System ——> New Build System ,输入: { "cmd": ["jav ...
- 【转】JavaScript 事件顺序:冒泡和捕获
补充说明:这篇文章通俗易懂地讲解了冒泡和捕获原理,原文来自 ppk 大侠的 quirksmode 站点.感谢网友 hh54188 的翻译. 事件的发生顺序 这个问题的起源非常简单,假设你在一个元素中又 ...