IDuplexChannel 介面

定義

定義通道必須實作以收送訊息的介面。

public interface class IDuplexChannel : System::ServiceModel::Channels::IInputChannel, System::ServiceModel::Channels::IOutputChannel
public interface IDuplexChannel : System.ServiceModel.Channels.IInputChannel, System.ServiceModel.Channels.IOutputChannel
type IDuplexChannel = interface
    interface IChannel
    interface ICommunicationObject
    interface IInputChannel
    interface IOutputChannel
type IDuplexChannel = interface
    interface IInputChannel
    interface IOutputChannel
    interface IChannel
    interface ICommunicationObject
type IDuplexChannel = interface
    interface IInputChannel
    interface IChannel
    interface ICommunicationObject
    interface IOutputChannel
type IDuplexChannel = interface
    interface IOutputChannel
    interface IInputChannel
    interface ICommunicationObject
    interface IChannel
Public Interface IDuplexChannel
Implements IInputChannel, IOutputChannel
衍生
實作

備註

重要

呼叫實作此介面之類別的方法時,若並用了不信任的資料,會造成安全性上的風險。 呼叫實作此介面之類別的方法時,請一律使用信任的資料。 如需詳細資訊,請參閱 驗證所有輸入

IDuplexChannel 介面是 IInputChannelIOutputChannel 介面的聯合。 IDuplexChannel 介面在實作時,不會要求 IInputChannelIOutputChannel 之間有任何相互關聯性。 特別是,這樣表示合約不會要求透過 IInputChannel 接收訊息的寄件者要等於透過 IOutputChannel 傳送訊息的收件者。

屬性

LocalAddress

取得輸入通道接收訊息的位址。

(繼承來源 IInputChannel)
RemoteAddress

取得輸出通道上訊息傳送之目的服務的目的端。

(繼承來源 IOutputChannel)
State

取得通訊導向物件的目前狀態。

(繼承來源 ICommunicationObject)
Via

取得包含輸出通道上訊息之目標傳輸位址的 URI。

(繼承來源 IOutputChannel)

方法

Abort()

導致通訊物件立即從目前的狀態轉換為已關閉狀態。

(繼承來源 ICommunicationObject)
BeginClose(AsyncCallback, Object)

開始非同步作業以關閉通訊物件。

(繼承來源 ICommunicationObject)
BeginClose(TimeSpan, AsyncCallback, Object)

開始非同步作業,關閉有已指定逾時的通訊物件。

(繼承來源 ICommunicationObject)
BeginOpen(AsyncCallback, Object)

開始非同步作業以開啟通訊物件。

(繼承來源 ICommunicationObject)
BeginOpen(TimeSpan, AsyncCallback, Object)

開始非同步作業,開啟有已指定時間間隔的通訊物件。

(繼承來源 ICommunicationObject)
BeginReceive(AsyncCallback, Object)

開始非同步的作業,接收具有與該作業關聯之狀態物件的訊息。

(繼承來源 IInputChannel)
BeginReceive(TimeSpan, AsyncCallback, Object)

開始非同步的作業,接收具有已指定逾時以及與該作業關聯之狀態物件的訊息。

(繼承來源 IInputChannel)
BeginSend(Message, AsyncCallback, Object)

開始非同步作業,將訊息傳送到輸出通道的目的端。

(繼承來源 IOutputChannel)
BeginSend(Message, TimeSpan, AsyncCallback, Object)

開始非同步作業,於指定的時間間隔內將訊息傳送給輸出通道的目的端。

(繼承來源 IOutputChannel)
BeginTryReceive(TimeSpan, AsyncCallback, Object)

開始非同步的作業,接收具有已指定逾時以及與該作業關聯之狀態物件的訊息。

(繼承來源 IInputChannel)
BeginWaitForMessage(TimeSpan, AsyncCallback, Object)

開始非同步的「等候訊息到達」(wait-for-a-message-to-arrive) 作業,這個作業具有指定的逾時以及與該作業關聯之狀態物件。

(繼承來源 IInputChannel)
Close()

導致通訊物件從目前的狀態轉換為已關閉狀態。

(繼承來源 ICommunicationObject)
Close(TimeSpan)

導致通訊物件從目前的狀態轉換為已關閉狀態。

(繼承來源 ICommunicationObject)
EndClose(IAsyncResult)

完成非同步作業以關閉通訊物件。

(繼承來源 ICommunicationObject)
EndOpen(IAsyncResult)

完成非同步作業以開啟通訊物件。

(繼承來源 ICommunicationObject)
EndReceive(IAsyncResult)

完成非同步作業,以便接收訊息。

(繼承來源 IInputChannel)
EndSend(IAsyncResult)

完成非同步作業,將訊息傳送到輸出通道的目的端。

(繼承來源 IOutputChannel)
EndTryReceive(IAsyncResult, Message)

完成指定的非同步作業,以便接收訊息。

(繼承來源 IInputChannel)
EndWaitForMessage(IAsyncResult)

完成指定的非同步「等候訊息」(wait-for-a-message) 作業。

(繼承來源 IInputChannel)
GetProperty<T>()

從通道堆疊的適當層次中,傳回要求的型別物件 (如果有)。

(繼承來源 IChannel)
Open()

導致通訊物件從已建立狀態轉換為已開啟狀態。

(繼承來源 ICommunicationObject)
Open(TimeSpan)

在指定時間間隔內,讓通訊物件從已建立狀態轉換為已開啟狀態。

(繼承來源 ICommunicationObject)
Receive()

如果有收到訊息,則將該訊息傳回。 如果沒有收到訊息,執行緒就會封鎖一段預設間隔時間。

(繼承來源 IInputChannel)
Receive(TimeSpan)

如果有收到訊息,則將該訊息傳回。 如果沒有收到訊息,執行緒就會封鎖一段指定的間隔時間。

(繼承來源 IInputChannel)
Send(Message)

將訊息傳送到輸出通道的目的端。

(繼承來源 IOutputChannel)
Send(Message, TimeSpan)

於指定的時間間隔內在目前的輸出通道上傳送訊息。

(繼承來源 IOutputChannel)
TryReceive(TimeSpan, Message)

嘗試在指定的時間間隔內接收訊息。

(繼承來源 IInputChannel)
WaitForMessage(TimeSpan)

傳回值,這個值會表示訊息是否是在指定的時間間隔內到達。

(繼承來源 IInputChannel)

事件

Closed

當通訊物件從關閉中狀態轉換為已關閉狀態完成時發生。

(繼承來源 ICommunicationObject)
Closing

當通訊物件第一次進入關閉中狀態時發生。

(繼承來源 ICommunicationObject)
Faulted

當通訊物件第一次進入錯誤狀態時發生。

(繼承來源 ICommunicationObject)
Opened

當通訊物件從開啟中狀態轉換為已開啟狀態結束時發生。

(繼承來源 ICommunicationObject)
Opening

當通訊物件第一次進入開啟中狀態時發生。

(繼承來源 ICommunicationObject)

適用於