IInputChannel.Receive 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
명시적 또는 암시적으로 정의된 시간 간격에 메시지가 사용 가능한 경우 입력 채널이 수신한 메시지를 반환합니다.
오버로드
Receive() |
메시지가 사용 가능한 경우 수신된 메시지를 반환합니다. 메시지를 사용할 수 없는 경우 기본 시간 간격 동안 차단합니다. |
Receive(TimeSpan) |
메시지가 사용 가능한 경우 수신된 메시지를 반환합니다. 메시지를 사용할 수 없는 경우 지정된 시간 간격 동안 차단합니다. |
설명
현재 스레드가 요청 메시지를 받거나 에서 지정timeout
한 시간 간격을 초과할 때까지 차단할 수 있는 경우 동기 Receive 메서드를 사용합니다. 요청 수신을 대기하지 않고 애플리케이션 처리를 계속해야 하는 경우 비동기 BeginReceive 메서드를 사용합니다.
동기 Receive 작업은 명시적 시간 제한의 유무에 관계없이 사용할 수 있습니다.
메시지를 사용할 수 없는 경우 메시지를 사용할 수 있거나 시간 제한이 초과될 때까지 차단됩니다.
Receive()
- 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);
}
설명
현재 스레드가 요청 메시지를 받거나 에서 지정timeout
한 시간 간격을 초과할 때까지 차단할 수 있는 경우 동기 Receive 메서드를 사용합니다. 요청 수신을 대기하지 않고 애플리케이션 처리를 계속하려는 경우 비동기 BeginReceive 메서드를 사용합니다.
동기 Receive 작업은 명시적 시간 제한의 유무에 관계없이 사용할 수 있습니다.
메시지를 사용할 수 없는 경우 메시지를 사용할 수 있거나 시간 제한이 초과될 때까지 차단됩니다.
Receive를 여러 번 또는 동시에 호출할 수 있습니다. 받은 각 메시지에 대해 하나의 Receive 호출만 완료할 수 있습니다.
적용 대상
Receive(TimeSpan)
- 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;
}
설명
현재 스레드가 요청 메시지를 받거나 에서 지정timeout
한 시간 간격을 초과할 때까지 차단할 수 있는 경우 동기 Receive 메서드를 사용합니다. 요청 수신을 대기하지 않고 애플리케이션 처리를 계속하려는 경우 비동기 BeginReceive 메서드를 사용합니다.
동기 Receive 작업은 명시적 시간 제한의 유무에 관계없이 사용할 수 있습니다.
메시지를 사용할 수 없는 경우 메시지를 사용할 수 있거나 시간 제한이 초과될 때까지 차단됩니다.
Receive를 여러 번 또는 동시에 호출할 수 있습니다. 받은 각 메시지에 대해 하나의 Receive 호출만 완료할 수 있습니다.
적용 대상
.NET