[英]How can I receive messages over http without MSMQ
我需要一個運行在http / https上的可靠消息傳遞框架(由於客戶端安全要求),並且不使用MSMQ(因為某些客戶端將使用Windows XP Home)。 客戶端僅需要能夠接收消息,而不必發送消息。
我們已經在服務器上為每個用戶建立了一個消息隊列,並且接收者已經通過連接到服務器上的HttpHandler並從
WebResponse.GetResponseStream()
我們將此流保持打開狀態,並使用Stream.Read()將消息拉出。 這大多數都可以,但是Stream.Read()是阻塞調用,我們無法可靠地中斷它。 我們需要能夠在不丟失消息的情況下停止並啟動接收器,但是即使在我們在其線程上調用Thread.Abort之后,舊流也經常會徘徊。
有什么建議么?
我會使用WCF。 它支持WS-ReliableMessaging標准。 您可以對其進行配置,以確保消息以正確的順序到達。
關於鎖定問題,您是否考慮過WCF框架?
單。 一次只有一個線程可以訪問服務對象。 這是此屬性的默認值。 折返。 一次只有一個線程可以訪問服務對象,但是該線程可以退出並重新進入。 多。 一次有多個線程可以訪問服務對象。
http://msdn.microsoft.com/en-us/library/dd936243.aspx
它允許對服務如何多次調用以及如何使用http和https進行大量控制。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.