IRequestChannel Interface
Defines the contract that a channel must implement to be on the requesting side of a request-reply communication between messaging endpoints.
Namespace: System.ServiceModel.Channels
Assembly: System.ServiceModel (in System.ServiceModel.dll)
The IRequestChannel type exposes the following members.
| Name | Description | |
|---|---|---|
![]() ![]() | RemoteAddress | Gets the remote address to which the request channel sends messages. |
![]() ![]() | State | Gets the current state of the communication-oriented object. (Inherited from ICommunicationObject.) |
![]() ![]() | Via | Gets the transport address to which the request is send. |
| 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.) |
![]() ![]() | BeginRequest(Message, AsyncCallback, Object) | Begins an asynchronous operation to transmit a request message to the reply-side of a request-reply message exchange. |
![]() ![]() | BeginRequest(Message, TimeSpan, AsyncCallback, Object) | Begins an asynchronous operation to transmit a request message to the reply-side of a request-reply message exchange within a specified interval of time. |
![]() ![]() | 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.) |
![]() ![]() | EndRequest | Completes an asynchronous operation to return a message-based response to a transmitted request. |
![]() ![]() | 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.) |
![]() ![]() | Request(Message) | Sends a message-based request and returns the correlated message-based response. |
![]() ![]() | Request(Message, TimeSpan) | Sends a message-based request and returns the correlated message-based response within a specified interval of time. |
| 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.) |
The IRequestChannel defines synchronous and asynchronous variants of an Request(Message) method that returns a response message. It also provides a RemoteAddress and Via properties to retrieve the endpoint address and URI to which the request message is sent.
// Initialize request channel factory with a binding and a remote endpoint address. BasicHttpBinding binding = new BasicHttpBinding(); EndpointAddress address = new EndpointAddress("http://localhost:8000/ChannelApp"); ChannelFactory<IRequestChannel> factory = new ChannelFactory<IRequestChannel>(binding, address); // Create an IRequestChannel object and open it. IRequestChannel channel = factory.CreateChannel(); channel.Open(); // Get the endpoint address for the channel. EndpointAddress epa = channel.RemoteAddress; // Get the transport address for the channel. Uri via = channel.Via; // Send a request message on the channel. Message request = Message.CreateMessage(MessageVersion.Soap11, "hello"); // Request sent and correlated with a reply message. Message reply = channel.Request(request); reply.Close(); channel.Close(); factory.Close();
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.



