- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
消息队列
企业级应用—消息队列 回顾 什么是缓存依赖? 缓存依赖有几种形式? 2000操作系统如何配置缓存依赖? 本章目标 了解消息队列 掌握私有队列的创建 掌握如何发送简单消息 掌握如何发送复杂消息 掌握如何发送图片类消息 掌握如何接受消息 掌握如何发送事务消息 消息队列简介 我们都用过手机发短信,发送方发端信的时候并不知道接受方是否开机,接受方在开机的时候收到的短信并不知道发送方什么时候发送的。消息队列的工作原理也类似于手机发短信的模式—异步通信。 问题思考: 在电子商务网站中需要对订单做处理,处理订单一般会分发到不同的业务员手中,业务员只有在营业结束才能知道手中订单是否处理完毕,所以在客户订购商品的时候,无法知道此订单指派给那个业务员。该如何解决这个问题? 续上 微软操作系统的消息队列技术很好的解决了这个问题。 运行环境 Message Queuing是操作系统的一部分,现在版本是3.0所以不能运行在windows 2000操作系统上,只能运行在Windows 2003和Windows XP上面 如何安装Message Queuing 队列的形式 消息对列是一个消息库,存储在磁盘上的消息位于windir\system32\msmq\storage目录中 公共队列(传出队列):在Active Directory(活动目录)中发布,这时候要求计算机工作在域模式下,不能在workgroup模式下重建公共队列,这一部分内容涉及到更多操作系统方面知识,以及消息的不安全考虑,这方面知识以自学为主。 续上 私有队列:只有知道该队列的完整路径名称才可以访问,在工作组模式中可以创建队列。这是本章掌握的重点,也是入门的起点。 日志队列: 死信队列: 管理队列: 如何创建队列 两种方式: Computer Management MMC插件创建(操作系统管理工具) 编程方式创建(这是重点) C#中如何操作消息队列 命名空间:System.Messaging 涉及到的类: MessageQueue:负责队列的创建 Message:负责消息的创建 发送简单消息 通过案例的形式学习队列的创建以及消息的发送接收。 案例1:发送简单消息.aspx实现的功能有 创建队列 发送消息 接受消息 效果图 代码实现 如何发送复杂消息 不仅能发送文字之类的简单消息,还可以发送自定义的对象,比如某个学生对象。 案例:发送复杂消息.aspx实现的功能有 创建队列 发送对象 接收对象 效果图 用户输入姓名、年龄后点击发送消息,把学生对象发送到队列中。 接收消息可以还原队列中的学生对象 代码实现 如何发送图片类消息 当我们需要发送图片等二进制类的消息时候,那么该怎么发送呢? 案例:发送图片.aspx实现的功能有 为了演示发送图片消息的功能,取消了创建队列的功能,那么图片发送到photo队列中. 接收图片功能直接在页面中显示出来 效果图 点击发送图片功能,直接把页面图片发送到对列中 点击读取图片按钮,页面会显示读取到的图片 代码实现 可恢复消息 什么是可恢复消息 在计算机出现异常的情况下,如(断电、异常关机、网络断开)消息不被丢失,这类消息就是可恢复消息,否则的话消息很容易丢失。 案例:可恢复消息.aspx实现的功能就是 点击发送消息按钮可以把文本框中的消息发送到可恢复消息队列中 点击恢复消息可以读取队列中的消息 为了测试效果,消息发送完毕请重新启动机器 效果图 只能发送普通消息。 在断电的情况下同样可以恢复消息 同样的测试环境看能不能恢复上面案例中的图片 代码实现 事务消息 问题思考: 虽然可恢复消息能够保证消息不被丢失,但是不能保证消息的顺序读取,也不能保证消息的只读一次。这个问题该怎么解决呢? 事务消息:是可恢复消息的特殊版本,不但能够实现消息的可恢复功能,还可以保证消息的按顺序读取。 效果图 创建事务消息队列(注该队列具备事务性) 依次发送4个文字消息,然后关机重新启动机器 点击接收事务消息按钮,依次显示事务消息 代码实现 总结 消息队列有几种形式 如何才能实现消息不被丢失 如何实现事务消息 如何发送复杂消息 消息队列是做异步处理用的,简单说就是两个程序,一个把任务发到队列中,另一个从消息队列中把任务读出来,完成两个程序的异步处理。 * HandsOn 发送者 订单 订单 订单 订单 订单 订单 订单 接收者 订单 订单队列 即使关机, 订单还可以恢复 操作流程 1:先创建队列,如果队列已经存在将提示错误 2:发送消息,缺省的消息队列最大容量将是无限制的 3:接收消息,可以接收文字、图片、视频、声音,目前只能接受文字 /// summary /// 创建私有队列 /// /summary /// param name=sender/param
文档评论(0)