IInputChannel.Receive 메서드

정의

입력 채널에서 받은 메시지를 명시적으로 또는 암시적으로 정의된 시간 간격으로 사용할 수 있는 경우 반환합니다.

오버로드

Name Description
Receive()

받은 메시지를 반환합니다(사용할 수 있는 경우). 메시지를 사용할 수 없는 경우 기본 시간 간격을 차단합니다.

Receive(TimeSpan)

받은 메시지를 반환합니다(사용할 수 있는 경우). 메시지를 사용할 수 없는 경우 지정된 시간 간격을 차단합니다.

설명

현재 스레드가 요청 메시지를 받거나 지정된 Receive시간 간격을 초과할 때까지 차단할 수 있는 경우 동기 timeout 메서드를 사용합니다. 요청이 수신될 때까지 기다리지 않고 애플리케이션 처리를 계속해야 하는 경우 비동 BeginReceive 기 메서드를 사용합니다.

동기 Receive 작업은 명시적 시간 제한 유무에 관계없이 사용할 수 있습니다.

메시지를 사용할 수 없는 경우 메시지를 사용할 수 있거나 시간 제한이 초과될 때까지 차단됩니다.

Receive()

Source:
IInputChannel.cs
Source:
IInputChannel.cs
Source:
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)

Source:
IInputChannel.cs
Source:
IInputChannel.cs
Source:
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 시간이 초과되고 throw되기 전에 수신 작업을 완료해야 하는 기간을 지정하는 TimeoutException것입니다.

반품

받은 사용자입니다 Message .

예외

작업이 완료되기 전에 지정된 timeout 값이 초과됩니다.

지정된 시간 제한이 0보다 작습니다.

예제

다음 코드에서는 이 메서드를 구현하는 방법을 보여 줍니다.

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 호출만 완료할 수 있습니다.

적용 대상