Receive Method (TimeSpan)
Collapse the table of content
Expand the table of content

IInputChannel.Receive Method (TimeSpan)

Returns the message received, if one is available. If a message is not available, blocks for a specified interval of time.

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

Message Receive(
	TimeSpan timeout


Type: System.TimeSpan

The Timespan that specifies how long the receive operation has to complete before timing out and throwing a TimeoutException.

Return Value

Type: System.ServiceModel.Channels.Message
The Message received.


The specified timeout is exceeded before the operation is completed.


The timeout specified is less than zero.

Use the synchronous Receive method when it is acceptable for the current thread to be blocked until it receives the request message or exceeds the interval of time specified by timeout. Use the asynchronous BeginReceive method when you want the application processing to continue without waiting for the request to be received.

The synchronous Receive operation is available with or without an explicit timeout.

If a message is not available, it blocks until one is available or until the timeout is exceeded.

Receive can be called multiple times or concurrently. Only one Receive call can complete for each message received.

The following code illustrates how to implement this method:

public Message Receive(TimeSpan timeout)
    Message message;
    while (true)
        message = this.InnerChannel.Receive(timeout);
        if (ProcessReceivedMessage(ref message))

    return message;

Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0

.NET Compact Framework

Supported in: 3.5

Community Additions

© 2016 Microsoft