다음을 통해 공유


IServerChannelSink.ProcessMessage 메서드

정의

현재 싱크에서 메시지 처리를 요청합니다.

public:
 System::Runtime::Remoting::Channels::ServerProcessing ProcessMessage(System::Runtime::Remoting::Channels::IServerChannelSinkStack ^ sinkStack, System::Runtime::Remoting::Messaging::IMessage ^ requestMsg, System::Runtime::Remoting::Channels::ITransportHeaders ^ requestHeaders, System::IO::Stream ^ requestStream, [Runtime::InteropServices::Out] System::Runtime::Remoting::Messaging::IMessage ^ % responseMsg, [Runtime::InteropServices::Out] System::Runtime::Remoting::Channels::ITransportHeaders ^ % responseHeaders, [Runtime::InteropServices::Out] System::IO::Stream ^ % responseStream);
public System.Runtime.Remoting.Channels.ServerProcessing ProcessMessage (System.Runtime.Remoting.Channels.IServerChannelSinkStack sinkStack, System.Runtime.Remoting.Messaging.IMessage requestMsg, System.Runtime.Remoting.Channels.ITransportHeaders requestHeaders, System.IO.Stream requestStream, out System.Runtime.Remoting.Messaging.IMessage responseMsg, out System.Runtime.Remoting.Channels.ITransportHeaders responseHeaders, out System.IO.Stream responseStream);
[System.Security.SecurityCritical]
public System.Runtime.Remoting.Channels.ServerProcessing ProcessMessage (System.Runtime.Remoting.Channels.IServerChannelSinkStack sinkStack, System.Runtime.Remoting.Messaging.IMessage requestMsg, System.Runtime.Remoting.Channels.ITransportHeaders requestHeaders, System.IO.Stream requestStream, out System.Runtime.Remoting.Messaging.IMessage responseMsg, out System.Runtime.Remoting.Channels.ITransportHeaders responseHeaders, out System.IO.Stream responseStream);
abstract member ProcessMessage : System.Runtime.Remoting.Channels.IServerChannelSinkStack * System.Runtime.Remoting.Messaging.IMessage * System.Runtime.Remoting.Channels.ITransportHeaders * System.IO.Stream * IMessage * ITransportHeaders * Stream -> System.Runtime.Remoting.Channels.ServerProcessing
[<System.Security.SecurityCritical>]
abstract member ProcessMessage : System.Runtime.Remoting.Channels.IServerChannelSinkStack * System.Runtime.Remoting.Messaging.IMessage * System.Runtime.Remoting.Channels.ITransportHeaders * System.IO.Stream * IMessage * ITransportHeaders * Stream -> System.Runtime.Remoting.Channels.ServerProcessing
Public Function ProcessMessage (sinkStack As IServerChannelSinkStack, requestMsg As IMessage, requestHeaders As ITransportHeaders, requestStream As Stream, ByRef responseMsg As IMessage, ByRef responseHeaders As ITransportHeaders, ByRef responseStream As Stream) As ServerProcessing

매개 변수

sinkStack
IServerChannelSinkStack

현재 싱크를 호출한 채널 싱크의 스택입니다.

requestMsg
IMessage

해당 요청을 포함하는 메시지입니다.

requestHeaders
ITransportHeaders

클라이언트로부터 들어오는 메시지에서 가져온 헤더입니다.

requestStream
Stream

처리되어 deserialization 싱크로 전달되어야 할 스트림입니다.

responseMsg
IMessage

이 메서드가 반환하면 응답 메시지를 보유하는 IMessage를 포함합니다. 이 매개 변수는 초기화되지 않은 상태로 전달됩니다.

responseHeaders
ITransportHeaders

이 메서드가 반환될 때 클라이언트로 보내는 반환 메시지 머리글에 추가될 헤더가 들어 있는 ITransportHeaders를 포함합니다. 이 매개 변수는 초기화되지 않은 상태로 전달됩니다.

responseStream
Stream

이 메서드가 반환될 때 전송 싱크로 다시 향하는 Stream을 포함합니다. 이 매개 변수는 초기화되지 않은 상태로 전달됩니다.

반환

ServerProcessing

메시지 처리 방법에 대한 정보를 제공하는 ServerProcessing 상태 값입니다.

특성

예외

직접 실행 호출자에 인프라 권한이 없는 경우

설명

프록시 작업 메시지 개체를 호출한 메서드 호출을 변환 하는 것입니다. 구현 하는이 메시지 개체를 IMessage 인터페이스를 호출 하 여 클라이언트 쪽에서 서버 쪽 전달 ProcessMessage 메시지 싱크 개체에서 합니다. 메시지 싱크는 메시지 싱크를 모든 호출에 대 한 책임 지는 점에서 서로 연결 된 ProcessMessage 에서 해당 작업을 수행한 후 다음 메시지 싱크 합니다. 예를 들어 동기화와 관련 된 메시지 싱크를 획득 하거나 해제 한 다음 다운스트림 메시지 싱크 추가로 위임할 잠금이 발생할 수 있습니다.

적용 대상