IDuplexChannel Interface
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Defines the interface that a channel must implement to both send and receive messages.
Namespace: System.ServiceModel.Channels
Assembly: System.ServiceModel (in System.ServiceModel.dll)
Syntax
'Declaration
Public Interface IDuplexChannel _
Inherits IInputChannel, IOutputChannel, IChannel, ICommunicationObject
public interface IDuplexChannel : IInputChannel,
IOutputChannel, IChannel, ICommunicationObject
The IDuplexChannel type exposes the following members.
Properties
Name | Description | |
---|---|---|
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.) |
Top
Methods
Name | Description | |
---|---|---|
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 time-out. (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 | Begins an asynchronous operation to receive a message that has a specified time out and state object associated with it. (Inherited from IInputChannel.) | |
BeginWaitForMessage | 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 | Completes an asynchronous operation to close a communication object. (Inherited from ICommunicationObject.) | |
EndOpen | Completes an asynchronous operation to open a communication object. (Inherited from ICommunicationObject.) | |
EndReceive | Completes an asynchronous operation to receive a message. (Inherited from IInputChannel.) | |
EndSend | Completes an asynchronous operation to transmit a message to the destination of the output channel. (Inherited from IOutputChannel.) | |
EndTryReceive | Completes the specified asynchronous operation to receive a message. (Inherited from IInputChannel.) | |
EndWaitForMessage | 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 | Tries to receive a message within a specified interval of time. (Inherited from IInputChannel.) | |
WaitForMessage | Returns a value that indicates whether a message has arrived within a specified interval of time. (Inherited from IInputChannel.) |
Top
Events
Name | Description | |
---|---|---|
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.) |
Top
Remarks
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.
Version Information
Silverlight
Supported in: 5, 4, 3
Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0
XNA Framework
Supported in: Windows Phone OS 7.0
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.