Request Method (Message)
Collapse the table of content
Expand the table of content

IRequestChannel.Request Method (Message)

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

Sends a message-based request and returns the correlated message-based response.

Namespace:  System.ServiceModel.Channels
Assembly:  System.ServiceModel (in System.ServiceModel.dll)

'Declaration
Function Request ( _
	message As Message _
) As Message

Parameters

message
Type: System.ServiceModel.Channels.Message
The request Message to be transmitted.

Return Value

Type: System.ServiceModel.Channels.Message
The Message received in response to the request.

Implementations of IRequestChannel ensure that the response message is correlated with the request message.

Generally, if an implementation of IRequestChannel receives a message that is not correlated to an outstanding request, it is dropped.

The Request method can be called concurrently across multiple threads.

Passing the message into the request channel causes the message to be consumed. After you call Request, you can no longer inspect the message or call Close on the message.

If the request message is larger that the maximum message size allowed by the binding being used, a QuotaExceededException is thrown. The maximum message size is set by the MaxReceivedMessageSize property. The default value is 65536 bytes.

The following code illustrates how to implement this method:


			' Initialize request channel factory with a binding and a remote endpoint address.
			Dim binding As New BasicHttpBinding()
			Dim address As New EndpointAddress("http://localhost:8000/ChannelApp")
			Dim factory As New ChannelFactory(Of IRequestChannel)(binding, address)

			' Create an IRequestChannel object and open it.
			Dim channel As IRequestChannel = factory.CreateChannel()
			channel.Open()

			' Get the endpoint address for the channel.
			Dim epa As EndpointAddress = channel.RemoteAddress

			' Get the transport address for the channel.
			Dim via As Uri = channel.Via

			' Send a request message on  the channel.
			Dim request As Message = Message.CreateMessage(MessageVersion.Soap11, "hello")

			' Request  sent and correlated with a reply message.
			Dim reply As Message = channel.Request(request)

			reply.Close()
			channel.Close()
			factory.Close()


Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

Show:
© 2017 Microsoft