您提到啓動一個「按需」流程。 WAS - Windows激活服務(有時也稱爲Windows進程激活服務,儘管它永遠不會縮寫爲「WPAS」)是Windows內部提供按需過程激活的東西。它的工作方式 - 當消息到達時,WAS可以啓動一個工作進程來處理消息。在IIS7之前,WAS相當緊密地集成到了IIS中。它主要用於激活進行網絡工作的流程 - 例如ASP.NET工作流程。對於IIS7,WAS是通用的,因此它可以基於非HTTP和HTTP消息激活工作進程。如果您編寫應用程序以通過WCF接收消息,則可以基本上「免費」獲得激活。這適用於HTTP,TCP,MSMQ; SOAP或其他。
與此點播啓動,雖然關鍵的一點是,它是聯繫在一起的通信。事實上,WAS的流程生命週期模型也與通信息息相關。默認情況下,如果一段時間後沒有傳入消息,該進程將被WAS關閉。這可能是也可能不是你想要的。
至於過程託管 - COM +提供了一個託管環境,但其主要目的是用作通信的過程的主機。這可能不適合你。
如果你有計算引擎,你可能只是想運行一個Windows服務。像這樣的服務可以以管理方式或編程方式啓動和停止。在後一種情況下,您可以想象一個WAS激活的工作進程以編程方式啓動一個Windows服務。
您也可以想象編寫一個簡單的Windows服務來監視消息的位置(文件系統,消息隊列等),以及當該文件或消息到達時,Windows服務啓動一個計算引擎進程,它本身就是不是Windows服務,但只是一個過程。
說到MSMQ的 - 這基本上是相同的模型MSMQ觸發器。當消息到達特定隊列時,您可以配置MSMQ以啓動進程。
有很多選擇。
計劃任務可能不會在我們的案例中真正適用的處理將在需求,而不是在一個特定的時間,每天進行,但由於在這裏撫養他們。 – 2009-07-13 13:32:48