ASP网站制作之5个有用网站速成(BIG5)(三)
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的,新增添一辛校Queue),名Qtest。
办法殪MessageQueue的的X上按右I,x的[辛]。
定名辛忻Qtest。
於用舳耸褂g[器,g[绦械慕Y果。
於MessageQueue的,於辛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的,於辛test上按右I,x[热],x[平安O定],按下[利用嘞]按o,的存取型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应用方案。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。 多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。 ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。 因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。 接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。 ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题: 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:
页:
[1]