Edit

Share via


IDuplexChannel Interface

Definition

Defines the interface that a channel must implement to both send and receive messages.

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 IInputChannel
    interface IOutputChannel
    interface IChannel
    interface ICommunicationObject
type IDuplexChannel = interface
    interface IChannel
    interface ICommunicationObject
    interface IInputChannel
    interface IOutputChannel
type IDuplexChannel = interface
    interface IInputChannel
    interface IChannel
    interface ICommunicationObject
    interface IOutputChannel
Public Interface IDuplexChannel
Implements IInputChannel, IOutputChannel
Derived
Implements

Remarks

Important

Calling methods from classes that implement this interface with untrusted data is a security risk. Call the methods from classes that implement this interface only with trusted data. For more information, see Validate All Inputs.

The IDuplexChannel interface is the union of the IInputChannel and IOutputChannel interfaces. The IDuplexChannel interface does not mandate any correlation between the IInputChannel and IOutputChannel when implemented. This means, in particular, that the contract does not mandate that the sender of messages that are received through the IInputChannel is equal to the recipient of messages sent through the IOutputChannel.

Properties

LocalAddress

Gets the address on which the input channel receives messages.

(Inherited from IInputChannel)
RemoteAddress

Gets the destination of the service to which messages are sent out on the output channel.

(Inherited from IOutputChannel)
State

Gets the current state of the communication-oriented object.

(Inherited from ICommunicationObject)
Via

Gets the URI that contains the transport address to which messages are sent on the output channel.

(Inherited from IOutputChannel)

Methods

Abort()

Causes a communication object to transition immediately from its current state into the closed state.

(Inherited from ICommunicationObject)
BeginClose(AsyncCallback, Object)

Begins an asynchronous operation to close a communication object.

(Inherited from ICommunicationObject)
BeginClose(TimeSpan, AsyncCallback, Object)

Begins an asynchronous operation to close a communication object with a specified timeout.

(Inherited from ICommunicationObject)
BeginOpen(AsyncCallback, Object)

Begins an asynchronous operation to open a communication object.

(Inherited from ICommunicationObject)
BeginOpen(TimeSpan, AsyncCallback, Object)

Begins an asynchronous operation to open a communication object within a specified interval of time.

(Inherited from ICommunicationObject)
BeginReceive(AsyncCallback, Object)

Begins an asynchronous operation to receive a message that has a state object associated with it.

(Inherited from IInputChannel)
BeginReceive(TimeSpan, AsyncCallback, Object)

Begins an asynchronous operation to receive a message that has a specified time out and state object associated with it.

(Inherited from IInputChannel)
BeginSend(Message, AsyncCallback, Object)

Begins an asynchronous operation to transmit a message to the destination of the output channel.

(Inherited from IOutputChannel)
BeginSend(Message, TimeSpan, AsyncCallback, Object)

Begins an asynchronous operation to transmit a message to the destination of the output channel within a specified interval of time.

(Inherited from IOutputChannel)
BeginTryReceive(TimeSpan, AsyncCallback, Object)

Begins an asynchronous operation to receive a message that has a specified time out and state object associated with it.

(Inherited from IInputChannel)
BeginWaitForMessage(TimeSpan, AsyncCallback, Object)

Begins an asynchronous wait-for-a-message-to-arrive operation that has a specified time out and state object associated with it.

(Inherited from IInputChannel)
Close()

Causes a communication object to transition from its current state into the closed state.

(Inherited from ICommunicationObject)
Close(TimeSpan)

Causes a communication object to transition from its current state into the closed state.

(Inherited from ICommunicationObject)
EndClose(IAsyncResult)

Completes an asynchronous operation to close a communication object.

(Inherited from ICommunicationObject)
EndOpen(IAsyncResult)

Completes an asynchronous operation to open a communication object.

(Inherited from ICommunicationObject)
EndReceive(IAsyncResult)

Completes an asynchronous operation to receive a message.

(Inherited from IInputChannel)
EndSend(IAsyncResult)

Completes an asynchronous operation to transmit a message to the destination of the output channel.

(Inherited from IOutputChannel)
EndTryReceive(IAsyncResult, Message)

Completes the specified asynchronous operation to receive a message.

(Inherited from IInputChannel)
EndWaitForMessage(IAsyncResult)

Completes the specified asynchronous wait-for-a-message operation.

(Inherited from IInputChannel)
GetProperty<T>()

Returns a typed object requested, if present, from the appropriate layer in the channel stack.

(Inherited from IChannel)
Open()

Causes a communication object to transition from the created state into the opened state.

(Inherited from ICommunicationObject)
Open(TimeSpan)

Causes a communication object to transition from the created state into the opened state within a specified interval of time.

(Inherited from ICommunicationObject)
Receive()

Returns the message received, if one is available. If a message is not available, blocks for a default interval of time.

(Inherited from IInputChannel)
Receive(TimeSpan)

Returns the message received, if one is available. If a message is not available, blocks for a specified interval of time.

(Inherited from IInputChannel)
Send(Message)

Transmits a message to the destination of the output channel.

(Inherited from IOutputChannel)
Send(Message, TimeSpan)

Sends a message on the current output channel within a specified interval of time.

(Inherited from IOutputChannel)
TryReceive(TimeSpan, Message)

Tries to receive a message within a specified interval of time.

(Inherited from IInputChannel)
WaitForMessage(TimeSpan)

Returns a value that indicates whether a message has arrived within a specified interval of time.

(Inherited from IInputChannel)

Events

Closed

Occurs when the communication object completes its transition from the closing state into the closed state.

(Inherited from ICommunicationObject)
Closing

Occurs when the communication object first enters the closing state.

(Inherited from ICommunicationObject)
Faulted

Occurs when the communication object first enters the faulted state.

(Inherited from ICommunicationObject)
Opened

Occurs when the communication object completes its transition from the opening state into the opened state.

(Inherited from ICommunicationObject)
Opening

Occurs when the communication object first enters the opening state.

(Inherited from ICommunicationObject)

Applies to