共用方式為


佇列和可靠會話

佇列和可靠的會話是實作可靠傳訊的 Windows Communication Foundation (WCF) 功能。 本節中包含的主題會討論 WCF 可靠的傳訊功能。

可靠的傳訊是可靠的傳訊來源(稱為來源)如何將訊息可靠地傳輸到可靠的傳訊目的地(稱為目的地)。

可靠的傳訊具有下列重要層面:

  • 無論是訊息傳輸失敗還是通訊失敗,從來源到目的地的訊息傳輸保證。

  • 將來源與目的地分隔開來,即使來源或目的地無法使用,也能確保其各自的失敗與復原過程互不影響,同時提供可靠的訊息傳輸和傳遞。

可靠的傳訊經常會以高延遲為代價。 延遲是訊息從來源到達目的地所需的時間。 因此,WCF 提供下列類型的可靠傳訊:

  • 可靠會話,可提供可靠的傳輸,而不需要高延遲成本

  • WCF 中的佇列,提供來源與目的地之間的可靠傳輸和區隔。

可靠的會話

可靠的會話會使用 WS-ReliableMessaging 通訊協定,提供來源與目的地之間訊息的端對端可靠傳輸,而不論分隔傳訊(來源和目的地)端點的媒介數目或類型為何。 這包括任何不使用 SOAP 的傳輸媒介(例如 HTTP Proxy)或使用 SOAP 的媒介(例如 SOAP 型路由器或網橋),這些中繼是訊息在端點之間流動所需的。 可靠的會話會使用記憶體內部傳輸視窗來遮罩 SOAP 訊息層級失敗,並在傳輸失敗時重新建立連線。

可靠的會話提供低延遲可靠的訊息傳輸。 它們可支持透過任何代理或中介的 SOAP 訊息,相當於 TCP 透過 IP 網橋支持封包。 如需可靠會話的詳細資訊,請參閱 Reliable Sessions

排隊

WCF 中的佇列提供可靠的訊息傳輸,以及來源和目的地之間的分隔,代價是高延遲。 WCF 佇列通訊建置在消息佇列之上(也稱為 MSMQ)。

MSMQ 作為 NT 服務的一個選項,被隨附於 Windows 系統中。 它會代表來源擷取傳輸佇列中傳輸的訊息,並將其傳遞至目標佇列。 每當目的地要求訊息時,目標佇列會代表目的地接受訊息,以供稍後傳遞。 MSMQ 佇列管理員會實作可靠的訊息傳輸通訊協定,讓訊息不會在傳輸中遺失。 通訊協定可以是原生或SOAP型,例如Soap Reliable Messaging Protocol(SRMP)。

隔離,加上佇列之間的可靠訊息傳輸,可讓鬆散結合的應用程式可靠地通訊。 不同於可靠的會話,來源和目的地不需要同時運行。 當來源的訊息產生速率與目的地的訊息消耗速率不符時,這隱含地啟用佇列實際上作為負載均衡機制的情境。 如需佇列的詳細資訊,請參閱 WCF 中的佇列

另請參閱