다음을 통해 공유


System.Runtime.Remoting.Messaging 네임스페이스

System.Runtime.Remoting.Messaging 네임스페이스에는 메시지를 만들고 전송하는 데 사용되는 클래스가 포함되어 있습니다. 원격 인프라는 메시지를 사용하여 원격 개체와 통신합니다. 메시지는 원격 메서드 호출을 전송하고 원격 개체를 활성화하며 정보를 전달하는 데 사용됩니다. 메시지 개체는 동작 식별자, 엔보이 정보 및 매개 변수를 비롯한 명명된 속성 집합을 전달합니다. System.Runtime.Remoting.Messaging 네임스페이스의 가장 중요한 클래스 중에는 AsyncResult 클래스, RemotingSurrogateSelector 클래스 및 ReturnMessage 클래스가 있습니다.

AsyncResult 클래스는 비동기 메서드 호출의 결과를 저장하고 반환합니다. AsyncResult 인스턴스는 return 값, 호출 상태, 호출에 사용되는 대리자 및 비동기 메서드 호출에 대한 기타 정보를 포함합니다.

RemotingSurrogateSelector 클래스를 사용하면 MarshalByRefObject를 확장하는 개체의 serialization을 제어할 수 있습니다. RemotingSurrogateSelector는 그러한 개체를 serialize하고 deserialize하는 데 사용되는 서로게이트를 선택합니다. 서로게이트는 개체의 serialization이나 deserialization을 제어할 수 있는 개체입니다.

ReturnMessage 클래스에는 원격 메서드 호출 후에 반환되는 정보가 들어 있습니다. 또한 ReturnMessage에는 return 값과 원격 메서드 호출로 인한 out 매개 변수 또는 ref 매개 변수가 들어 있습니다.

클래스

  클래스 설명
Public class AsyncResult 비동기 대리자가 수행하는 비동기 작업의 결과를 캡슐화합니다.
Public class CallContext 실행 코드 경로로 전달된 속성 집합을 제공합니다. 이 클래스는 상속될 수 없습니다.
Public class ConstructionCall IConstructionCallMessage 인터페이스를 구현하여 원격 개체에 대해 수행된 생성자 호출을 구성하는 요청 메시지를 만듭니다.
Public class ConstructionResponse IConstructionReturnMessage 인터페이스를 구현하여 원격 개체를 인스턴스화하기 위한 호출에 응답하는 메시지를 만듭니다.
Public class Header 호출에 out-of-band 데이터를 정의합니다.
Public class InternalMessageWrapper 클라이언트에서 서버로의 요청 또는 후속 응답을 위해 메시지 싱크 간에 전달할 원격 데이터를 래핑합니다.
Public class LogicalCallContext 원격 메서드를 호출하는 동안 실행 코드 경로로 전달되는 속성 집합을 제공합니다.
Public class MethodCall IMethodCallMessage 인터페이스를 구현하여 원격 개체에 대한 메서드 호출로 동작하는 요청 메시지를 만듭니다.
Public class MethodCallMessageWrapper IMethodCallMessage 인터페이스를 구현하여 원격 개체에 대해 메서드를 호출하는 요청 메시지를 만듭니다.
Public class MethodResponse IMethodReturnMessage 인터페이스를 구현하여 원격 개체에 대한 메서드 응답으로 동작하는 메시지를 만듭니다.
Public class MethodReturnMessageWrapper IMethodReturnMessage 인터페이스를 구현하여 원격 개체에 대해 수행된 메서드 호출에 대한 응답으로 동작하는 메시지를 만듭니다.
Public class OneWayAttribute 반환 값과 out 또는 ref 매개 변수를 사용하지 않고 단방향으로 메서드를 마스크합니다.
Public class RemotingSurrogateSelector MarshalByRefObject에서 파생되는 개체를 serialize하는 데 사용할 수 있는 원격 서로게이트를 선택합니다.
Public class ReturnMessage 원격 개체에서 메서드 호출에 대한 응답으로 반환되는 메시지를 보유합니다.

인터페이스

  인터페이스 설명
Public interface ILogicalThreadAffinative LogicalCallContextAppDomain에서 전파되는 개체를 표시합니다.
Public interface IMessage 서로 협력하는 메시지 싱크 간에 보낸 통신 데이터가 들어 있습니다.
Public interface IMessageCtrl IMessageSink.AsyncProcessMessage를 사용하여 디스패치된 비동기 메시지를 제어하는 방법을 제공합니다.
Public interface IMessageSink 메시지 싱크에 대한 인터페이스를 정의합니다.
Public interface IMethodCallMessage 메서드 호출 메시지 인터페이스를 정의합니다.
Public interface IMethodMessage 메서드 메시지 인터페이스를 정의합니다.
Public interface IMethodReturnMessage 메서드 호출 반환 메시지 인터페이스를 정의합니다.
Public interface IRemotingFormatter 모든 포맷터에 대해 RPC(원격 프로시저 호출) 인터페이스를 제공합니다.

대리자

  대리자 설명
Public delegate HeaderHandler deserialize하는 동안 스트림의 헤더를 처리할 메서드를 나타냅니다.
Public delegate MessageSurrogateFilter MarshalByRefObject 클래스에 대해 ObjRef를 만드는 동안 RemotingSurrogateSelector 클래스가 특정 IMessage 속성을 무시할지 여부를 결정합니다.