다음을 통해 공유


IRequestChannel.Request 메서드

정의

메시지 기반 요청을 보내고 상호 관련된 메시지 기반 응답을 반환합니다.

오버로드

Request(Message)

메시지 기반 요청을 보내고 상호 관련된 메시지 기반 응답을 반환합니다.

Request(Message, TimeSpan)

메시지 기반 요청을 보내고 지정된 시간 간격 내에 상호 관련된 메시지 기반 응답을 반환합니다.

Request(Message)

Source:
IRequestChannel.cs
Source:
IRequestChannel.cs
Source:
IRequestChannel.cs

메시지 기반 요청을 보내고 상호 관련된 메시지 기반 응답을 반환합니다.

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

매개 변수

message
Message

전송할 요청 Message입니다.

반환

요청에 대한 응답으로 수신된 Message입니다.

예제

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

public Message Request(Message message)
{
    return this.InnerChannel.Request(message);
}

설명

IRequestChannel 구현은 응답 메시지가 요청 메시지와 상관 관계가 있는지 확인합니다.

일반적으로 의 IRequestChannel 구현이 미해결 요청과 상관 관계가 없는 메시지를 받으면 삭제됩니다.

메서드는 Request 여러 스레드에서 동시에 호출할 수 있습니다.

메시지를 요청 채널에 전달하면 메시지에 액세스할 수 있습니다. Request를 호출한 후에는 더 이상 메시지를 검사하거나 메시지에서 Close를 호출할 수 없습니다.

요청 메시지가 사용 중인 바인딩에서 허용하는 최대 메시지 크기보다 크면 이 QuotaExceededException throw됩니다. 최대 메시지 크기는 MaxReceivedMessageSize 속성에서 설정됩니다. 기본값은 65536바이트입니다.

적용 대상

Request(Message, TimeSpan)

Source:
IRequestChannel.cs
Source:
IRequestChannel.cs
Source:
IRequestChannel.cs

메시지 기반 요청을 보내고 지정된 시간 간격 내에 상호 관련된 메시지 기반 응답을 반환합니다.

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

매개 변수

message
Message

전송할 요청 Message입니다.

timeout
TimeSpan

응답을 수신해야 할 시간 간격을 지정하는 TimeSpan입니다.

반환

요청에 대한 응답으로 수신된 Message입니다.

예제

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

public Message Request(Message message, TimeSpan timeout)
{
    return this.InnerChannel.Request(message, timeout);
}

설명

IRequestChannel 구현은 응답 메시지가 요청 메시지와 상관 관계가 있는지 확인합니다.

일반적으로 의 IRequestChannel 구현이 미해결 요청과 상관 관계가 없는 메시지를 받으면 삭제됩니다.

메서드는 Request 여러 스레드에서 동시에 호출할 수 있습니다.

메시지를 요청 채널에 전달하면 메시지에 액세스할 수 있습니다. Request를 호출한 후에는 더 이상 메시지를 검사하거나 메시지에서 Close를 호출할 수 없습니다.

요청 메시지가 사용 중인 바인딩에서 허용하는 최대 메시지 크기보다 크면 이 QuotaExceededException throw됩니다. 최대 메시지 크기는 MaxReceivedMessageSize 속성에서 설정됩니다. 기본값은 65536바이트입니다.

함수를 timeout 호출하는 동안 가 전달되면 해당 값이 사용됩니다. 가 SendTimeout 바인딩에 설정된 경우 함수를 호출하는 동안 가 지정되지 timeout 않은 경우 바인딩의 값이 사용됩니다.

DefaultSendTimeout 바인딩 또는 함수를 호출하는 동안 시간 제한이 지정되지 않은 경우에 사용됩니다. 이 기본값은 1분입니다.

구현자 참고

작업을 완료하기 전에 지정된 TimeoutException이 초과된 경우 작업에서 timeout을 throw해야 합니다.

적용 대상