簡體   English   中英

沒有MSMQ的情況下如何通過HTTP接收消息

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM