了解MSMQ 控制ASP进程 (二)

好难起的名字呐

好难起的名字呐

2016-01-29 17:58

了解MSMQ 控制ASP进程 (二),了解MSMQ,控制ASP进程 (二)
       在运用程序中 MSMQ 可以有很多的运用,但是最普遍的运用是卸载另一个线程中的进程。 ( 例如和 MSMQ 在同一台机器上的 IIS) 或则是另外一台机器上的 IIS. 通过卸载这些阻塞的进程,就能够使得 ASP 程序能够继续运行下去了。

   一般来说,判断是否需要卸载任务进程要做两件事:

   一是根据该进程运行的时间。

   二是根据用户是否有回应(例如聊天室里面某个用户几个小时都没说话了)。

   例如:如果服务端的一个 Web 网页的任务花费了太长的时间 , 用户会得到一个网页超时的错误信息,我们一般可以通过重新单击刷新或者简单的放弃这个网页。但现在可以改变一下处理方式,例如进行后台处理,而不是简单的靠增加处理网页的时间方式。要知道,后台处理方式也能够提高网站性能的。

   MSMQ 还有一个功能,就是能够控制消息的 body 中特定的一个 COM 对象。只要该对象支持 Idispatch 和 Ipersist (IPersistStream or IPersistStorage ) 接口就行。

   其中最常用的,能支持的两个就是 ADODB.Recordset ( 或 ADOR.Recordset ) 和 Word.Document 。在下面我们举一个处理 ADODB.Recordset 例子。

   例:如何处理 ADODB.Recordset :
Public Sub SendRecordsetInMessage()
Dim objQInfo As New MSMQ.MSMQQueueInfo
Dim objQSend As MSMQ.MSMQQueue
Dim objMessage As New MSMQ.MSMQMessage
Dim objRS As New ADOR.Recordset
Dim a As New MSMQQueue
With objRS
.CursorLocation = adUseClient
.Fields.Append "FN", adVarChar, 25
.Fields.Append "LN", adVarChar, 25
.Open
.AddNew
.Fields("FN") = "Chris"
.Fields("LN") = "Blexrud"
.Update
.AddNew
.Fields("FN") = "Shayna"
.Fields("LN") = "Blexrud"
.Update
End With
objQInfo.PathName = ".test"
Set objQSend = objQInfo.Open(MQ_SEND_ACCESS, MQ_DENY_NONE)
objMessage.Label = "Recordset State!!!!"
objMessage.Body = objRS
objMessage.Send objQSend
objQSend.Close
Set objQInfo = Nothing
Set objQSend = Nothing
Set objMessage = Nothing
Set objRS = Nothing
End Sub


   了解了 MSMQ 么?我想现在对于 ASP 的进程死锁,你已经有了很好的解决方法了吧!希望大家能通过以上文字,真正了解 MSMQ ,及通过 MSMQ 控制 ASP 进程的方法! 
展开更多 50%)
分享

猜你喜欢

了解MSMQ 控制ASP进程 (二)

ASP
了解MSMQ 控制ASP进程 (二)

了解MSMQ 控制ASP进程 (一)

ASP
了解MSMQ 控制ASP进程 (一)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

用ASP控制Flash

ASP
用ASP控制Flash

用DLL控制Windows中进程的方法

编程语言 网络编程
用DLL控制Windows中进程的方法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

ASP+配置 — ASP+配置概念(二)

ASP
ASP+配置 — ASP+配置概念(二)

ASP 3.0高级编程(二)

ASP
ASP 3.0高级编程(二)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Linux指令篇:文件管理--gitview

Linux指令篇:文件管理--gitview

Excel:快速录入小数

Excel:快速录入小数
下拉加载更多内容 ↓