Export (0) Print
Expand All

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)

public interface IRequestChannel : IChannel, 
	ICommunicationObject

The IRequestChannel type exposes the following members.

  NameDescription
Public propertySupported by Silverlight for Windows PhoneRemoteAddressGets the remote address to which the request channel sends messages.
Public propertySupported by Silverlight for Windows PhoneStateGets the current state of the communication-oriented object. (Inherited from ICommunicationObject.)
Public propertySupported by Silverlight for Windows PhoneViaGets the transport address to which the request is send.
Top

  NameDescription
Public methodSupported by Silverlight for Windows PhoneAbortCauses a communication object to transition immediately from its current state into the closed state. (Inherited from ICommunicationObject.)
Public methodSupported by Silverlight for Windows PhoneBeginClose(AsyncCallback, Object)Begins an asynchronous operation to close a communication object. (Inherited from ICommunicationObject.)
Public methodSupported by Silverlight for Windows PhoneBeginClose(TimeSpan, AsyncCallback, Object)Begins an asynchronous operation to close a communication object with a specified time-out. (Inherited from ICommunicationObject.)
Public methodSupported by Silverlight for Windows PhoneBeginOpen(AsyncCallback, Object)Begins an asynchronous operation to open a communication object. (Inherited from ICommunicationObject.)
Public methodSupported by Silverlight for Windows PhoneBeginOpen(TimeSpan, AsyncCallback, Object)Begins an asynchronous operation to open a communication object within a specified interval of time. (Inherited from ICommunicationObject.)
Public methodSupported by Silverlight for Windows PhoneBeginRequest(Message, AsyncCallback, Object)Begins an asynchronous operation to transmit a request message to the reply-side of a request-reply message exchange.
Public methodSupported by Silverlight for Windows PhoneBeginRequest(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.
Public methodSupported by Silverlight for Windows PhoneClose()Causes a communication object to transition from its current state into the closed state. (Inherited from ICommunicationObject.)
Public methodSupported by Silverlight for Windows PhoneClose(TimeSpan)Causes a communication object to transition from its current state into the closed state. (Inherited from ICommunicationObject.)
Public methodSupported by Silverlight for Windows PhoneEndCloseCompletes an asynchronous operation to close a communication object. (Inherited from ICommunicationObject.)
Public methodSupported by Silverlight for Windows PhoneEndOpenCompletes an asynchronous operation to open a communication object. (Inherited from ICommunicationObject.)
Public methodSupported by Silverlight for Windows PhoneEndRequestCompletes an asynchronous operation to return a message-based response to a transmitted request.
Public methodSupported by Silverlight for Windows PhoneGetProperty<T>Returns a typed object requested, if present, from the appropriate layer in the channel stack. (Inherited from IChannel.)
Public methodSupported by Silverlight for Windows PhoneOpen()Causes a communication object to transition from the created state into the opened state. (Inherited from ICommunicationObject.)
Public methodSupported by Silverlight for Windows PhoneOpen(TimeSpan)Causes a communication object to transition from the created state into the opened state within a specified interval of time. (Inherited from ICommunicationObject.)
Public methodSupported by Silverlight for Windows PhoneRequest(Message)Sends a message-based request and returns the correlated message-based response.
Public methodSupported by Silverlight for Windows PhoneRequest(Message, TimeSpan)Sends a message-based request and returns the correlated message-based response within a specified interval of time.
Top

  NameDescription
Public eventSupported by Silverlight for Windows PhoneClosedOccurs when the communication object completes its transition from the closing state into the closed state. (Inherited from ICommunicationObject.)
Public eventSupported by Silverlight for Windows PhoneClosingOccurs when the communication object first enters the closing state. (Inherited from ICommunicationObject.)
Public eventSupported by Silverlight for Windows PhoneFaultedOccurs when the communication object first enters the faulted state. (Inherited from ICommunicationObject.)
Public eventSupported by Silverlight for Windows PhoneOpenedOccurs when the communication object completes its transition from the opening state into the opened state. (Inherited from ICommunicationObject.)
Public eventSupported by Silverlight for Windows PhoneOpeningOccurs when the communication object first enters the opening state. (Inherited from ICommunicationObject.)
Top

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


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

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Community Additions

ADD
Show:
© 2014 Microsoft