IDuplexSession.CloseOutputSession 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
結束傳出工作階段,表示將不會再從與該工作階段相關聯之通道上的這個端點傳送任何訊息。
多載
CloseOutputSession() |
結束傳出工作階段,表示將不會再從與該工作階段相關聯之通道上的這個端點傳送任何訊息。 |
CloseOutputSession(TimeSpan) |
結束傳出工作階段,表示在指定的時間間隔內,將不會再從與該工作階段相關聯之通道上的這個端點傳送任何訊息。 |
CloseOutputSession()
結束傳出工作階段,表示將不會再從與該工作階段相關聯之通道上的這個端點傳送任何訊息。
public:
void CloseOutputSession();
public void CloseOutputSession ();
abstract member CloseOutputSession : unit -> unit
Public Sub CloseOutputSession ()
備註
呼叫 CloseOutputSession() 會對工作階段的另一端指示,它應該從任何未處理或後續的 null
呼叫傳回 Receive。
CloseOutputSession 為等冪,因此再次呼叫它沒有任何作用。
結束傳出工作階段不會影響連入工作階段,因此,對於在與輸入通道相關聯之工作階段上接收訊息的功能,不再加以說明。
給實施者的注意事項
CloseOutputSession() 是可以與擁有此工作階段之 IDuplexSessionChannel 互動的工作階段方法。 特別是,如果您的工作階段存留期 (Lifetime) 與通道存留期放在一起 (就像與 TCP 和可靠的工作階段與安全性一起):
如果在 CloseOutputSession() 通道上呼叫 之前 Close() 呼叫 , Close() 應該等候 CloseOutputSession() 完成。
如果通道處於 Created 或 狀態,CloseOutputSession()應該擲回 InvalidOperationExceptionOpening 。
如果通道處於 Faulted 狀態, CloseOutputSession() 應該擲回 CommunicationObjectFaultedException。
如果 CloseOutputSession() 擲回,通道應該會發生錯誤。
通道上的 實作 Close() 應該呼叫 CloseOutputSession() ,然後確認 Receive() 傳回
null
,這表示 CloseOutputSession() 從會話的另一端呼叫。
適用於
CloseOutputSession(TimeSpan)
結束傳出工作階段,表示在指定的時間間隔內,將不會再從與該工作階段相關聯之通道上的這個端點傳送任何訊息。
public:
void CloseOutputSession(TimeSpan timeout);
public void CloseOutputSession (TimeSpan timeout);
abstract member CloseOutputSession : TimeSpan -> unit
Public Sub CloseOutputSession (timeout As TimeSpan)
參數
備註
呼叫 CloseOutputSession(TimeSpan) 會對工作階段的另一端指示,它應該從任何未處理或後續的 null
呼叫傳回 Receive。
CloseOutputSession 為等冪,因此再次呼叫它沒有任何作用。
結束傳出工作階段不會影響連入工作階段,因此,對於在與輸入通道相關聯之工作階段上接收訊息的功能,不再加以說明。
給實施者的注意事項
CloseOutputSession() 是可以與擁有此工作階段之 IDuplexSessionChannel 互動的工作階段方法。 特別是,如果您的工作階段存留期 (Lifetime) 與通道存留期放在一起 (就像與 TCP 和可靠的工作階段與安全性一起):
如果在 CloseOutputSession() 通道上呼叫 之前 Close() 呼叫 , Close() 應該等候 CloseOutputSession() 完成。
如果通道處於 Created 或 狀態,CloseOutputSession()應該擲回 InvalidOperationExceptionOpening 。
如果通道處於 Faulted 狀態, CloseOutputSession() 應該擲回 CommunicationObjectFaultedException。
如果 CloseOutputSession() 擲回,通道應該會發生錯誤。
在通道上的 實作 Close() 應該呼叫 CloseOutputSession() ,然後確認 Receive() 傳回
null
,指出 CloseOutputSession() 已從會話的另一端呼叫。