网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VB.net > 正文
消息队列在VB.NET数据库开发中的应用
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式

  我们先简单的了解一下什么是消息队列(MSMQ)?消息队列是 Windows 2000(NT也有MSMQ,WIN95/98/me/xp不含消息队列服务但是支持客户端的运行)操作系统中通讯的基础,也是用于创建分布式、松散连接通讯应用程序的工具。这些应用程序可以通过不同种类的网络进行通讯,也可以与脱机的计算机通讯。消息队列分为用户创建队列和系统队列,用户队列分为:

  · "公共队列"在整个可传递消息的"消息队列"网络中复制并传输,并且有可能由网络连接的所有站点访问。

  · "专用队列"不在整个网络中发布。相反,它们仅在所驻留的本地计算机上可用。专用队列只能由知道队列的完整路径名或标签的应用程序访问。

  · "管理队列"包含确认在给定"消息队列"网络中发送的消息回执的消息。指定希望 MessageQueue 组件使用的管理队列

  · "响应队列"包含目标应用程序接收到消息时返回给发送应用程序的响应消息。指定希望 MessageQueue 组件使用的响应队列。

  系统队列分为:

  · "日记队列"可选地存储发送消息的副本和从队列中移除的消息副本。

  · "死信队列"存储无法传递或已过期的消息的副本。

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

  现在大家对消息队列有了简单的了解后,就该进入主题了。要使用msmq进行软件开发需要安装msmq。安装完后就该进入实际的开发阶段。先打开vs.net ide中的"服务起资源管理器"展开你想建立消息队列的计算机名,再展开"消息队列"右击它在弹出菜单中选择"新建"建立一个新的消息队列,并为它指定一个名字,这个名字可以随意。也可以通过编程来完成,代码如下:

system.Messaging.MessageQueue.Create(".\Private$\MyPrivateQueue")''建立专用队列
System.Messaging.MessageQueue.Create("myMachine\MyQueue")''建立公共队列

  其实我认为使用那中方法并不重要,重要的是搞清楚专用队列和公共队列的差别(其他队列不是必须的)。在本例中是通过"服务器资源管理器"分别在服务器上建立了专用队列和公共队列。

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

  客户端程序


public Sub client()
Dim tM As New System.Messaging.MessageQueue()
tM.Path = ".\Private$\jk" ''"FORMATNAME:PUBLIC=3d3dc813-c555-4fd3-8ce0-79d5b45e0d75"''与指定计算机中的消息队列建立连接,
Dim newMessage As New System.Messaging.Message(TextBox1.Text)''接受文本筐的t-sql语句
newMessage.Label = "This is the label"''消息名字,
tM.Send(newMessage)''发送消息
End Sub

  服务端程序


public Sub server()
Dim NewQueue As New System.Messaging.MessageQueue(".\Private$\jk")''"FORMATNAME:PUBLIC=3d3dc813-c555-4fd3-8ce0-79d5b45e0d75"''与指定计算机中的消息队列建立连接,
Dim m As System.Messaging.Message
''查看消息队列中的消息
m = NewQueue.Receive
m.Formatter = New System.Messaging.XmlMessageFormatter(New String() {"System.String,mscorlib"})
Dim st As String
st = m.Body''消息队

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号