IReplyChannel Interface

Definition

Defines the interface that a channel must implement to be on the receiving side of a request-reply communication between messaging endpoints.

public interface class IReplyChannel : System::ServiceModel::Channels::IChannel
public interface IReplyChannel : System.ServiceModel.Channels.IChannel
type IReplyChannel = interface
    interface IChannel
    interface ICommunicationObject
Public Interface IReplyChannel
Implements IChannel
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 Data Validation.

The IReplyChannel interface includes synchronous and asynchronous variants of a ReceiveRequest method return an RequestContext that can be used to construct replies to received requests.

The contract includes synchronous and asynchronous variants of receive, try-to-receive and wait-for-a-message functionality.

An IReplyChannel is not necessarily bound to a single sender. Other channels and channel interfaces provide correlation between the sender and the reply channel, but the base contract makes no such restriction.

The pull model is used with an IReplyChannel to receive messages. This model consists of calling ReceiveRequest (or one of its variants) and then waiting for a message to arrive.

Properties

LocalAddress

Gets the address on which this reply channel receives messages.

State

Gets the current state of the communication-oriented object.

(Inherited from ICommunicationObject)

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)
BeginReceiveRequest(AsyncCallback, Object)

Begins an asynchronous operation to receive an available request with a default timeout.

BeginReceiveRequest(TimeSpan, AsyncCallback, Object)

Begins an asynchronous operation to receive an available request with a specified timeout.

BeginTryReceiveRequest(TimeSpan, AsyncCallback, Object)

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

BeginWaitForRequest(TimeSpan, AsyncCallback, Object)

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

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)
EndReceiveRequest(IAsyncResult)

Completes an asynchronous operation to receive an available request.

EndTryReceiveRequest(IAsyncResult, RequestContext)

Completes the specified asynchronous operation to receive a request message.

EndWaitForRequest(IAsyncResult)

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

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)
ReceiveRequest()

Returns the context of the request received, if one is available. If a context is not available, waits until there is one available.

ReceiveRequest(TimeSpan)

Returns the context of the request received, if one is available. If a context is not available, waits until there is one available.

TryReceiveRequest(TimeSpan, RequestContext)

Returns a value that indicates whether a request is received before a specified interval of time elapses.

WaitForRequest(TimeSpan)

Returns a value that indicates whether a request message is received before a specified interval of time elapses.

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