IInputChannel.Receive Метод

Определение

Возвращает сообщение, полученное входным каналом, если он доступен с интервалом времени, который явно или неявно определен.

Перегрузки

Имя Описание
Receive()

Возвращает полученное сообщение, если оно доступно. Если сообщение недоступно, блоки для интервала времени по умолчанию.

Receive(TimeSpan)

Возвращает полученное сообщение, если оно доступно. Если сообщение недоступно, блоки за указанный интервал времени.

Комментарии

Используйте синхронный Receive метод, если он может быть заблокирован для текущего потока, пока он не получит сообщение запроса или превышает интервал времени, указанного в параметре timeout. Используйте асинхронный BeginReceive метод, если требуется, чтобы обработка приложения продолжалось без ожидания получения запроса.

Синхронная Receive операция доступна с явным временем ожидания или без нее.

Если сообщение недоступно, оно блокируется до тех пор, пока он не будет доступен или пока не будет превышено время ожидания.

Receive()

Исходный код:
IInputChannel.cs
Исходный код:
IInputChannel.cs
Исходный код:
IInputChannel.cs

Возвращает полученное сообщение, если оно доступно. Если сообщение недоступно, блоки для интервала времени по умолчанию.

public:
 System::ServiceModel::Channels::Message ^ Receive();
public System.ServiceModel.Channels.Message Receive();
abstract member Receive : unit -> System.ServiceModel.Channels.Message
Public Function Receive () As Message

Возвращаемое значение

Полученное Message .

Примеры

В следующем коде показано, как реализовать этот метод:

public Message Receive()
{
    return Receive(DefaultReceiveTimeout);
}

Комментарии

Используйте синхронный Receive метод, если он может быть заблокирован для текущего потока, пока он не получит сообщение запроса или превышает интервал времени, указанного в параметре timeout. Используйте асинхронный BeginReceive метод, если требуется, чтобы обработка приложения продолжалось без ожидания получения запроса.

Синхронная Receive операция доступна с явным временем ожидания или без нее.

Если сообщение недоступно, оно блокируется до тех пор, пока он не будет доступен или пока не будет превышено время ожидания.

Receive можно вызывать несколько раз или одновременно. Только один Receive звонок может завершиться для каждого полученного сообщения.

Применяется к

Receive(TimeSpan)

Исходный код:
IInputChannel.cs
Исходный код:
IInputChannel.cs
Исходный код:
IInputChannel.cs

Возвращает полученное сообщение, если оно доступно. Если сообщение недоступно, блоки за указанный интервал времени.

public:
 System::ServiceModel::Channels::Message ^ Receive(TimeSpan timeout);
public System.ServiceModel.Channels.Message Receive(TimeSpan timeout);
abstract member Receive : TimeSpan -> System.ServiceModel.Channels.Message
Public Function Receive (timeout As TimeSpan) As Message

Параметры

timeout
TimeSpan

Это TimeSpan указывает, как долго операция получения должна завершиться до истечения времени ожидания и создания TimeoutException.

Возвращаемое значение

Полученное Message .

Исключения

Указанное timeout превышено до завершения операции.

Указанное время ожидания меньше нуля.

Примеры

В следующем коде показано, как реализовать этот метод:

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

    return message;
}

Комментарии

Используйте синхронный Receive метод, если он может быть заблокирован для текущего потока, пока он не получит сообщение запроса или превышает интервал времени, указанного в параметре timeout. Используйте асинхронный BeginReceive метод, если требуется, чтобы обработка приложения продолжалось без ожидания получения запроса.

Синхронная Receive операция доступна с явным временем ожидания или без нее.

Если сообщение недоступно, оно блокируется до тех пор, пока он не будет доступен или пока не будет превышено время ожидания.

Receive можно вызывать несколько раз или одновременно. Только один Receive звонок может завершиться для каждого полученного сообщения.

Применяется к