IInputChannel.BeginReceive 메서드

정의

비동기 수신 작업을 시작합니다.

오버로드

BeginReceive(AsyncCallback, Object)

연결된 상태 개체가 있는 메시지를 수신하기 위해 비동기 작업을 시작합니다.

BeginReceive(TimeSpan, AsyncCallback, Object)

지정된 시간 제한이 있는 메시지와 그에 연결된 상태 개체를 수신하기 위해 비동기 작업을 시작합니다.

설명

요청 수신을 대기하지 않고 애플리케이션 처리를 계속하려는 경우 비동기 BeginReceive 메서드를 사용합니다. 요청 메시지가 수신되거나 지정된 시간 간격이 초과될 때까지 현재 스레드가 차단될 수 있는 경우 동기 Receive 메서드를 timeout 사용합니다. 비동기 작업은 명시적 시간 제한 유무에 관계없이 사용할 수 있습니다.

BeginReceive(AsyncCallback, Object)

연결된 상태 개체가 있는 메시지를 수신하기 위해 비동기 작업을 시작합니다.

public:
 IAsyncResult ^ BeginReceive(AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive (AsyncCallback callback, object state);
abstract member BeginReceive : AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (callback As AsyncCallback, state As Object) As IAsyncResult

매개 변수

callback
AsyncCallback

비동기 작업 완료에 대한 알림을 수신하는 AsyncCallback 대리자입니다.

state
Object

애플리케이션에서 지정하는 개체로, 비동기 작업과 연결된 상태 정보를 포함합니다.

반환

IAsyncResult

비동기 메시지 수신을 참조하는 IAsyncResult입니다.

예제

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

public IAsyncResult BeginReceive(AsyncCallback callback, object state)
{
    return BeginReceive(DefaultReceiveTimeout, callback, state);
}

설명

요청 수신을 대기하지 않고 애플리케이션 처리를 계속하려는 경우 비동기 BeginReceive 메서드를 사용합니다. 요청 메시지가 수신되거나 지정된 시간 간격이 초과될 때까지 현재 스레드가 차단될 수 있는 경우 동기 Receive 메서드를 timeout 사용합니다. 비동기 작업은 명시적 시간 제한 유무에 관계없이 사용할 수 있습니다.

이 메서드는 콜백을 통해 해당 작업의 이벤트 처리기 ID에 대한 알림을 수신합니다. 채널에서 메시지를 사용할 수 있게 될 때까지 작업이 완료되지 않습니다.

적용 대상

BeginReceive(TimeSpan, AsyncCallback, Object)

지정된 시간 제한이 있는 메시지와 그에 연결된 상태 개체를 수신하기 위해 비동기 작업을 시작합니다.

public:
 IAsyncResult ^ BeginReceive(TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive (TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginReceive : TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult

매개 변수

timeout
TimeSpan

메시지를 사용할 수 있을 때까지 대기하는 시간 간격을 지정하는 TimeSpan입니다.

callback
AsyncCallback

비동기 작업 완료에 대한 알림을 수신하는 AsyncCallback 대리자입니다.

state
Object

애플리케이션에서 지정하는 개체로, 비동기 작업과 연결된 상태 정보를 포함합니다.

반환

IAsyncResult

비동기 수신 작업을 참조하는 IAsyncResult입니다.

예외

작업을 완료하기 전에 지정된 timeout이 초과된 경우

지정된 시간 제한이 0보다 작은 경우

예제

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

public IAsyncResult BeginReceive(TimeSpan timeout, AsyncCallback callback, object state)
{
    ReceiveAsyncResult<TChannel> result = new ReceiveAsyncResult<TChannel>(this, timeout, callback, state);
    result.Begin();
    return result;
}

설명

요청 수신을 대기하지 않고 애플리케이션 처리를 계속하려는 경우 비동기 BeginReceive 메서드를 사용합니다. 요청 메시지가 수신되거나 지정된 시간 간격이 초과될 때까지 현재 스레드가 차단될 수 있는 경우 동기 Receive 메서드를 timeout 사용합니다. 비동기 작업은 명시적 시간 제한 유무에 관계없이 사용할 수 있습니다.

채널에서 메시지를 사용할 수 있거나 시간 초과가 발생할 때까지 작업이 완료되지 않습니다.

구현자 참고

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

적용 대상