|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ASP是依赖组件的,能访问数据库的组件好多就有好多种,再有就是你微软的工具可是什么都要收钱的啊!速成W站怎样到场MessageQueue功效呢?
怎样於您的W站到场MessageQueue的非同步砉δ苣兀
於WindowsNTOptionPack中,包含MSMQ(MicrosoftMessageQueueServer),供应非「同步」淼墓δ堋
W路大概环,Y料也大概C,MSMQ(MicrosoftMessageQueueServer)供应了非「同步」恚梢越档屯降囊蕾。
不懂?]PS。
MSMQ的PI椤高B上」(online)和「有空」(available)。由於W路上一切的贸淌讲灰欢ǘ寄芡r100%B上(online),有的贸淌降碾X大概仍旧_C。贸淌郊词惯B上,也大概]有空(available)硖砼c其他贸淌降倪BM事情。
所^「同步」,比如W路上的甲贸淌较胍魉陀息到乙贸淌剑仨守候乙贸淌降幕拍芾^m做下往r,@就是要「同步」。
可是,乙贸淌娇赡苋晕催B上(online),也大概]有空(available)硖砼c甲贸淌降倪BM事情。
MSMQ(MicrosoftMessageQueueServer),供应於分离h境下W路上多贸淌降娜蒎e功效。⒉恍枰⒖袒贸淌剑苑峭椒绞硖怼MSMQ⒓贸淌降挠息Υ娴MSMQ中,等乙贸淌竭B上也有空r,再砣〉眉贸淌Υ骒MSMQ的息。
因而,MSMQ增援行舆作(MobileComputing),比如P型X於一般rKoW路B,待魉偷挠息可先寄存在用舳斯P型X的queue中,待後cW路B,再上鞯剿欧鞫恕
MSMQcIIS(InternetInformationServer)o密整合,於Web贸淌街惺褂asp砜刂MessageQueue。
MSMQ也cMTS(MicrosoftTransactionServer)o密整合,魉偷挠息能够能够cY料的更右黄鹩小竿菜馈沟漠樱Transaction)功效。
您可使用asp程式黹_lMSMQ的Web贸淌剑部梢允褂VisualBasic或VisualC++等Z言黹_lMSMQ的W路贸淌健
魉Message到MSMQ
怎样魉Message到MSMQ呢?
若要绦MSMQ魉Message的例,起首安bWindowsNTOptionPack的MicrosoftMessageQueueServer,然後於MessageQueue的[n案管],新增添一辛校Queue),名Qtest。
办法殪MessageQueue的[n案管]的X上按右I,x[_新n案]的[辛]。
定名辛忻Qtest。
於用舳耸褂g[器,g[绦械慕Y果。
於MessageQueue的[n案管],於辛test的日I下能够看到魉偷MSMQ的Message,@示Message的大旨部分。
於此Message疾速按上拢梢造[本文]看到Message的任牟糠荨
於asp程式中,怎样魉Message到MSMQ呢?
办法槭紫仁褂Server.CreateObject("MSMQ.MSMQQueueInfo")呼唤MSMQ的元件,然後O定以下:
QueueInfo.pathname:O定Message魉偷哪康辛校Queue)的名Q。
就能够利用QueueInfo.Open(2,0)_⒋辛小
接著Server.CreateObject("MSMQ.MSMQMessage")呼唤MSMQ的Message元件,然後O定以下Message的任暮椭髦疾糠荩
Msg.Label:O定Message的大旨部分。
Msg.body:O定Message的任牟糠荨
最後下Msg.SendQueue後,即_始魉Message到MSMQ的辛邢隆
asp程式以下:
<%
SetQueueInfo=Server.CreateObject("MSMQ.MSMQQueueInfo")
QueueInfo.pathname=". est”
SetQueue=QueueInfo.Open(2,0)
SetMsg=Server.CreateObject("MSMQ.MSMQMessage")
Msg.body="@是messagebody"&now
Msg.Label="@是messagelabel"&now
Msg.Delivery=1
Msg.SendQueue
Queue.Close
%>
魉Message到MSMQ的test辛邢隆
MSMQ吸收Message
怎样MSMQ吸收Message呢?
假如您急著MSMQ吸收魉偷Message,於用舳耸褂g[器绦校獾骄芙^存取的息,@是因槲⑹褂嘞拊O定[完整把持]的故。
因而必先修正O定。於MessageQueue的[n案管],於辛test上按右I,x[热],x[平安O定],按下[利用嘞]按o,[Everyone]的存取型O定[完整把持]。
接著就能够MSMQ吸收魉偷Message,於用舳耸褂g[器绦小
於asp程式中,怎样MSMQ吸收Messag呢?
办法槭紫仁褂Server.CreateObject("MSMQ.MSMQQueueInfo")呼唤MSMQ的元件,然後O定QueueInfo.pathname榇吸收Message的辛校Queue)的名Q。
就能够利用Setq=QueueInfo.Open(1,0)_⒋辛小W钺嵯q.Receive後,即_始吸收Message。由Msg.Label、Msg.Body能够x到Message的任暮椭髦疾糠荨
MSMQ(MicrosoftMessageQueueServer)吸收Message的asp程式以下:
<%
SetQueueInfo=Server.CreateObject("MSMQ.MSMQQueueInfo")
QueueInfo.pathname=". est"
Setq=QueueInfo.Open(1,0)
SetMsg=q.Receive
IfNotMsgIsNothingThen
Response.Write"<BR>吸收到息LABEL:"&Msg.Label
Response.Write"<BR>吸收到息LABEL:"&Msg.Body
EndIf
%>
W幔
MessageQueue加上Transaction功效
后面到,MSMQ也cMTS(MicrosoftTransactionServer)o密整合,魉偷挠息能够cY料更右黄鹩小竿菜馈沟漠樱Transaction)功效。
Y料的更映晒r,再魉陀息关照其他的贸淌剑毁Y料的更邮r,息就不魉停@就是所^的辛挟樱Transactionalqueue)。
比如进蔚劫Y料r,若Y料的更映晒r,就魉陀息关照房出,若Y料的更邮r,就不魉陀息关照房。
於asp程式中,怎样MessageQueue加上Transaction功效呢?
起首於asp程式第一行加上TRANSACTION=REQUIRED,告VIIS@一asp程式利用樱Transaction)功效的矸绞健
Msg.Delivery=1O定榭苫的鬟f体例(RecoverableDelivery)。
若此asp程式人谐淌绦谐晒r,包含更新Y料和MessageQueue的Message的魉突蚪邮眨⒑艚OnTransactionCommit()副程式。若绦惺r,比如更新任何一Y料掉。⒑艚OnTransactionAbort()副程式。
MessageQueue加上Transaction功效,asp程式以下:
<%@TRANSACTION=REQUIREDLANGUAGE=VBScript%>
...
<%SetQueueInfo=Server.CreateObject("MSMQ.MSMQQueueInfo")
QueueInfo.pathname=". est"
SetQueue=QueueInfo.Open(2,0)
SetMsg=Server.CreateObject("MSMQ.MSMQMessage")
Msg.body="</p>帮助用户快速实现各种应用服务,ASP商有整合各方面资源的能力,可在短期内为用户提供所需的解决方案。例如,典型的ERP安装,如果要在客户端安装的话需要半年到二年的时间,但是美国的一些ASP商如USI和CORIO能在90—120天内提供ERP应用方案。 |
|