博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PetShop 4.0学习笔记:消息队列MSMQ
阅读量:6955 次
发布时间:2019-06-27

本文共 2558 字,大约阅读时间需要 8 分钟。

在PetShop4.0的ReadMe.html中有如下配置步骤:

Asynchronous Order Placement Setup Instructions

1.     Add a new private queue for Pet Shop called “PSOrders

2.     Modifyweb.config:

a.     Change theOrderStrategyClass key to OrderAsynchronous

<add key="OrderStrategyClass" value="PetShop.BLL.OrderAsynchronous"/>

b.     Change theMachineName in the following line to your MSMQ computer name.

<add key="OrderQueuePath" value="FormatName:DIRECT=OS:MachineName\Private$\PSOrders"/>

3.     Modifyapp.config in the OrderProcessor project:

a.     Change theMachineName in the OrderQueuePath key:

<add key="OrderQueuePath" value="FormatName:DIRECT=OS:MachineName\Private$\PSOrders"/>

 

 

注意:

1、第1步,建立一个新的专用队列“PSOrders”,队列是“事务性”的。建立时,要勾选“事务性”,如图示:

2、为数据库添加登录名mspetshop,密码为pass@word1,并设置服务器角色为sysadmin。当然你也可以修改app.config中的连接字符串中的用户名和密码。

 

 

 

 

1、先安装Message Queuing Services

通过Control Panel,“Add/Remove Programs” – “Add/Remove Windows Components”步骤安装MSMQ。

MSMQ可以安装为工作组模式或域模式。如果安装程序没有找到一台运行提供目录服务的消息队列的服务器,则只可以安装为工作组模式,此计算机上的“消息队列”只支持创建专用队列和创建与其他运行“消息队列”的计算机的直接连接。

 

2、配置MSMQ

打开Computer Management – Message Queuing,在Private Queues下创建MSMQDemo队列

 

3、编写代码-简单演示MSMQ对象

 

注意:

添加引用:System.Messaging

 

代码页:

// Send Message    protected void btnSendMessage_Click(object sender, System.EventArgs e)    {        // Open queue        System.Messaging.MessageQueue queue = new System.Messaging.MessageQueue(".\\Private$\\MSMQDemo");        // Create message        System.Messaging.Message message = new System.Messaging.Message();        message.Body = txtMessage.Text.Trim();        message.Formatter = new System.Messaging.XmlMessageFormatter(new Type[] { typeof(string) });        // Put message into queue        queue.Send(message);    }    // Receive Message    protected void btnReceiveMessage_Click(object sender, System.EventArgs e)    {        // Open queue        System.Messaging.MessageQueue queue = new System.Messaging.MessageQueue(".\\Private$\\MSMQDemo");        // Receive message, 同步的Receive方法阻塞当前执行线程,直到一个message可以得到         System.Messaging.Message message = queue.Receive();        message.Formatter = new System.Messaging.XmlMessageFormatter(new Type[] { typeof(string) });        txtReceiveMessage.Text = message.Body.ToString();    }

 

页面布局:

 

转载于:https://www.cnblogs.com/WestGarden/archive/2011/11/09/3138396.html

你可能感兴趣的文章
我的友情链接
查看>>
Invalid source HTML for this operation , Error In IE
查看>>
Linux服务器间建立双向信任-无密码相互访问
查看>>
【COCOS2D-HTML5 开发之二】cocos2d-html5项目定义成员,局部变量,函数笔记随笔
查看>>
rsync与inotify
查看>>
将博客搬至CSDN
查看>>
使用docker镜像玩转steam挂卡
查看>>
修改root密码方式及克隆虚拟机
查看>>
hadoop技术入门学习之发行版选择
查看>>
spring-boot官方参考文档(使用spring-boot)(2.2)
查看>>
scrapy之异步写入数据库
查看>>
贪吃蛇
查看>>
现代图像处理技术试题
查看>>
ffmpeg的使用
查看>>
Oracle 白皮书-Oracle Data Guard 快速启动故障切换指南(1)
查看>>
通过案例学调优之--和 SHARED POOL 相关的主要 Latch
查看>>
sql server 数据库索引
查看>>
[spring-framework]Spring中集成RMI(远程方法调用)
查看>>
活动目录实战之十二 windows 2008 r2 AD 备份和还原 (下)-授权还原
查看>>
SQL2012群集
查看>>