消息队列在VB.NET数据库开发中的应用

消息队列在VB.NET数据库开发中的应用,第1张

消息队列在VB.NET数据库开发中的应用,第2张

让我们简单看看什么是消息队列(MSMQ)。消息队列是Windows 2000(NT也有MSMQ,WIN95/98/me/xp不含消息队列服务但支持客户端运行)中通信的基础,也是创建分布式、松散连接的通信应用的工具。这些应用程序可以通过不同种类的网络或与脱机计算机进行通信。

消息队列分为用户创建的队列和系统队列。用户队列分为:

1.“公共队列”在整个“消息队列”网络中复制和传输,消息可以在该网络中传递,并且可以被连接到该网络的所有站点访问。

2.“专用队列”不在全网公布。相反,它们只在它们所在的本地计算机上可用。专用队列只能由知道队列的完整路径名或标签的应用程序访问。

3.“管理队列”包含确认在给定的“消息队列”网络中发送的消息的接收的消息。指定您希望MessageQueue组件使用的管理队列。

4.“响应队列”包含当目标应用程序收到消息时返回给发送应用程序的响应消息。指定您希望MessageQueue组件使用的响应队列。

系统队列分为:

1.“日志队列”可选地存储已发送消息的副本和从队列中移除的消息的副本。

2.“死信队列”存储无法传递或已过期的邮件副本。

3.“专用系统队列”是存储系统执行消息处理操作所需的一系列管理和通知消息专用队列。

现在您已经对消息队列有了简单的了解,是时候进入主题了。要使用msmq进行软件开发,您需要安装msmq。安装完成后,就该进入实际开发阶段了。首先,在vs.net IDE中打开“服务资源管理器”,展开要建立消息队列的计算机的名称,然后展开“消息队列”。右键单击它并在弹出菜单中选择“New”来构建新的消息队列,并为其指定一个名称。这个名称可以是任意的。这也可以通过编程来完成,使用以下代码:

系统。messaging.messagequeue.create("。\ private $ \ myprivatequeue ")'创建一个私有队列
系统。messaging.messagequeue.create("我的机器\我的队列")'创建公共队列。


其实我觉得用那个方法不重要。重要的是搞清楚专用队列和公共队列的区别(其他队列没必要)。在此示例中,通过服务器资源管理器在服务器上建立了一个专用队列和一个公共队列。

程序功能:本程序分为两部分,包括服务器程序(安装在sql server上)和客户端程序。客户端的作用是编写t-sql语句,将t-sql语句放入消息中,并将消息发送到sql server上的消息队列中。服务器程序检查指定的消息队列。当新消息到达时,它开始执行消息的内容。因为消息的内容是t-sql语句,所以服务器实际上是在数据库上执行操作。

客户端程序:

public Sub client()
Dim tM作为新系统。messaging . message queue()
tM。路径= "。\ Private $ \ JK "' " format name:public = 3d DC 813-c555-4fd 3-8ce 0-79 D5 b45 e0d 75 " '与指定计算机中的消息队列建立连接,
Dim new Message as new system . messaging . Message(textbox 1 . text)'接受文本篮的t-sql语句
newmessage.label = "这是标签" '消息名称,
tM。Send(newMessage)'发送消息
结束

服务器程序:

public Sub server()
Dim New queue作为新系统。Messaging.MessageQueue(" .\ Private $ \ JK)' " format name:public = 3d DC 813-c555-4fd 3-8ce 0-79 D5 b45 e0d 75 " '与指定计算机中的消息队列建立连接,
dim m as system . messaging . message
查看消息队列中的消息
m = NewQueue。接收
m . formatter = new system . messaging . XML messageformatter(new string(){ " system . string,mscorlib " })
dimst as string
ST = m . body '消息队列中消息的消息内容。现有sql语句
dim con as newoledb . oledb connection("输入您自己的数据库连接字符串")
Con . open()
dim com as newoledb . oledb command(ST,Con)'执行消息中的sql语句
com . executenonquery()
Con . close()
end sub

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 消息队列在VB.NET数据库开发中的应用

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情