WPF消息队列示例——结合项目经验
2013-01-21 22:56
267 查看
标题是有些奇怪,WPF消息队列,消息队列的使用和WPF或者WinForm有关系吗?哦,没有,当然没有。只是我没有用过WPF,因此打算用WPF写这个DEMO。后半年的项目和微软消息队列练习非常紧密,整个项目的数据处理都是采用消息队列传输的。在做项目总结之前,打算回顾一下消息队列简单的使用,具体项目中的应用下一篇在写。
一、消息队列的简介
首先消息队列是要安装的,如果不了解,请度娘或谷哥之。MSMQ采用异步传输,可传输如文本、声音、图象等等。简单说一下我对消息队列的理解吧,就像开奥运会,站了很多队伍(美国队、中国队),这个就类似于队列;而中国队中具体的张三李四王五,就类似于队列中的消息。消息是可以独立存在,但是它在发送的时候,必须依附于某个队列。
其次,安装完消息队列之后,可以看到“传出队列”和“专用队列”。传出队列显示了,将要往外传输的消息的状态;专用队列,显示了已经接受的消息队列的状态。
View Code
MsgQueue:
View Code
c、在WPF中的调用:
由于MsgQueue中的方法都是静态的,因此在WPF后来可以直接进行调用。
代码如下:
View Code
最终演示效果:
三、扩展及代码下载
a、三种消息发送的格式
.NET消息队列提供了如下的格式程序:XmlMessageFormatter ,BinaryMessageFormatter ,ActiveXMessageFormatter 。上面的例子中,使用的是XmlMessageFormatter 。
b、代码下载,点击这里
c、在分布式系统中的使用
微软petshop宠物商店用到了消息队列,有兴趣的也可以自行下载看看。
本篇参考了,http://www.cnblogs.com/beniao/archive/2008/06/26/1229934.html
一、消息队列的简介
首先消息队列是要安装的,如果不了解,请度娘或谷哥之。MSMQ采用异步传输,可传输如文本、声音、图象等等。简单说一下我对消息队列的理解吧,就像开奥运会,站了很多队伍(美国队、中国队),这个就类似于队列;而中国队中具体的张三李四王五,就类似于队列中的消息。消息是可以独立存在,但是它在发送的时候,必须依附于某个队列。
其次,安装完消息队列之后,可以看到“传出队列”和“专用队列”。传出队列显示了,将要往外传输的消息的状态;专用队列,显示了已经接受的消息队列的状态。
View Code
MsgQueue:
View Code
c、在WPF中的调用:
由于MsgQueue中的方法都是静态的,因此在WPF后来可以直接进行调用。
代码如下:
View Code
最终演示效果:
三、扩展及代码下载
a、三种消息发送的格式
.NET消息队列提供了如下的格式程序:XmlMessageFormatter ,BinaryMessageFormatter ,ActiveXMessageFormatter 。上面的例子中,使用的是XmlMessageFormatter 。
类型 | 特性 |
XmlMessageFormatter | 这是默认的格式化程序,前面的例子都是使用它的,从这个名称我们就可以联想到,它是会将自定义的类型串行化为一个XML表示,这个格式化程序很慢,并且会创建相对较多的消息。然而,这些消息可以被运行在不同平台下的应用程序共享和理解。 |
BinaryMessageFormatter | 这个格式化应用程序会把自定义类型串行化为一个专有的二进制的格式。他比上面一种的速度要快得多,而且生成的消息很紧凑。然而只有运行在.NET中的接收者才可以容易地解析这个消息的内容。 |
ActiveXMessageFormatter | ActiveXMessageFormatter 和BinaryMessageFormatter一样,他会把自定义的类型串行化为专用的二进制格式。这个格式也就是MSMQ的COM组件使用的格式。这些传统的COM组件为COM语言(比如Visual Basic 6)提供了基于MSMQ的功能。因此,您可以在用Visual Basic 6编写的MSMQ应用程序中使用这个格式化程序来发送消息或接收消息。 |
c、在分布式系统中的使用
微软petshop宠物商店用到了消息队列,有兴趣的也可以自行下载看看。
本篇参考了,http://www.cnblogs.com/beniao/archive/2008/06/26/1229934.html
相关文章推荐
- WPF消息队列示例——结合项目经验
- 消息队列与如何spring mvc 项目中加入消息队列
- 项目实践——消息队列de使用
- Redis消息队列示例
- rabbitmq结合spring实现消息队列优先级
- Spring Boot与RabbitMQ结合实现延迟队列的示例
- (本学期软件工程项目开发经验)eclipse环境下struts2和mysql结合的登录验证
- PHP结合memcacheq消息队列解决并发问题
- redis消息队列结合简单时间轮处理任务
- MSMQ(Microsoft Message Queue,微软消息队列) Asp.Net 简单示例
- Redis消息队列示例
- 【原创经验分享】WCF之消息队列
- 消息队列创建以及使用示例
- Android基础系列-----------Android进程/线程管理应用示例(Android中的消息队列和线程队列机制)
- 记录一个短小精干的消息队列的项目地址
- MSMQ(Microsoft Message Queue,微软消息队列) Asp.Net 简单示例
- Unity结合3dmax开发项目的一点经验
- 项目经验:js 结合正则表达式判断是否为电话号码或者手机号码
- Redis消息队列示例
- Jenkins结合.net平台综合之完整示例项目