2011-04-07 69 views

回答

3

那不是基本上MQReceiveMessage做什麼?我很抱歉引用C文檔,但所有這些功能都應該可用於.NET。從本質上講,您可以使用此功能查看隊列中的消息:

閱讀消息時,您可以查看隊列中的消息(而不是刪除它們)或檢索消息(刪除它們)。

而且你可以用它來阻止,直到消息已準備就緒:

處理被阻斷在適用的線程,直到一個消息在隊列中找到(這是默認設置)。

顯然你也可以使用這個函數來異步接收消息,在這種情況下,它會像FileSystemWatcher一樣操作。

+0

我可以在.NET中使用MessageQueue.Peek函數。直到收到一條消息,我才意識到它被阻塞了。謝謝! – Micah 2011-04-07 17:11:19

1

您可以使用MSMQ觸發器。請參閱MSDN here

從第一段:

消息隊列觸發器允許您收到的郵件的抵達目標隊列與一個或多個COM組件的功能相關聯或獨立可執行程序。這些觸發器可用於定義在消息到達隊列時可以調用的業務規則,而無需執行任何其他編程。應用程序開發人員不再必須編寫任何基礎結構代碼來提供這種消息處理功能。