RealProxy.InitializeServerObject(IConstructionCallMessage) 메서드

정의

현재 인스턴스 Type 가 지정된 RealProxy개체와 함께 나타내는 원격 개체 개체의 IConstructionCallMessage 새 인스턴스를 초기화합니다.

public:
 System::Runtime::Remoting::Activation::IConstructionReturnMessage ^ InitializeServerObject(System::Runtime::Remoting::Activation::IConstructionCallMessage ^ ctorMsg);
public System.Runtime.Remoting.Activation.IConstructionReturnMessage InitializeServerObject(System.Runtime.Remoting.Activation.IConstructionCallMessage ctorMsg);
[System.Runtime.InteropServices.ComVisible(true)]
public System.Runtime.Remoting.Activation.IConstructionReturnMessage InitializeServerObject(System.Runtime.Remoting.Activation.IConstructionCallMessage ctorMsg);
[System.Runtime.InteropServices.ComVisible(true)]
[System.Security.SecurityCritical]
public System.Runtime.Remoting.Activation.IConstructionReturnMessage InitializeServerObject(System.Runtime.Remoting.Activation.IConstructionCallMessage ctorMsg);
member this.InitializeServerObject : System.Runtime.Remoting.Activation.IConstructionCallMessage -> System.Runtime.Remoting.Activation.IConstructionReturnMessage
[<System.Runtime.InteropServices.ComVisible(true)>]
member this.InitializeServerObject : System.Runtime.Remoting.Activation.IConstructionCallMessage -> System.Runtime.Remoting.Activation.IConstructionReturnMessage
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Security.SecurityCritical>]
member this.InitializeServerObject : System.Runtime.Remoting.Activation.IConstructionCallMessage -> System.Runtime.Remoting.Activation.IConstructionReturnMessage
Public Function InitializeServerObject (ctorMsg As IConstructionCallMessage) As IConstructionReturnMessage

매개 변수

ctorMsg
IConstructionCallMessage

현재 RealProxy로 표시되는 원격 개체의 새 인스턴스에 대한 생성자 매개 변수를 포함하는 생성자 호출 메시지입니다. null일 수 있습니다.

반품

생성 요청의 결과입니다.

특성

예외

즉시 호출자에게 UnmanagedCode 권한이 없습니다.

예제

virtual IMessage^ Invoke( IMessage^ myMessage ) override
{
   Console::WriteLine( "MyProxy 'Invoke method' Called..." );
   if ( dynamic_cast<IMethodCallMessage^>(myMessage) )
   {
      Console::WriteLine( "IMethodCallMessage*" );
   }

   if ( dynamic_cast<IMethodReturnMessage^>(myMessage) )
   {
      Console::WriteLine( "IMethodReturnMessage*" );
   }

   if ( dynamic_cast<IConstructionCallMessage^>(myMessage) )
   {
      // Initialize a new instance of remote object
      IConstructionReturnMessage^ myIConstructionReturnMessage = this->InitializeServerObject( static_cast<IConstructionCallMessage^>(myMessage) );
      ConstructionResponse^ constructionResponse = gcnew ConstructionResponse( nullptr,static_cast<IMethodCallMessage^>(myMessage) );
      return constructionResponse;
   }

   IDictionary^ myIDictionary = myMessage->Properties;
   IMessage^ returnMessage;
   myIDictionary[ "__Uri" ] = myUri;

   // Synchronously dispatch messages to server.
   returnMessage = ChannelServices::SyncDispatchMessage( myMessage );

   // Pushing return value and OUT parameters back onto stack.
   IMethodReturnMessage^ myMethodReturnMessage = dynamic_cast<IMethodReturnMessage^>(returnMessage);
   return returnMessage;
}
public override IMessage Invoke(IMessage myMessage)
{
   Console.WriteLine("MyProxy 'Invoke method' Called...");
   if (myMessage is IMethodCallMessage)
   {
      Console.WriteLine("IMethodCallMessage");
   }
   if (myMessage is IMethodReturnMessage)
   {
      Console.WriteLine("IMethodReturnMessage");
   }
   if (myMessage is IConstructionCallMessage)
   {
      // Initialize a new instance of remote object
      IConstructionReturnMessage myIConstructionReturnMessage =
         this.InitializeServerObject((IConstructionCallMessage)myMessage);
      ConstructionResponse constructionResponse = new
         ConstructionResponse(null,(IMethodCallMessage) myMessage);
      return constructionResponse;
   }
   IDictionary myIDictionary = myMessage.Properties;
   IMessage returnMessage;
   myIDictionary["__Uri"] = myUri;

   // Synchronously dispatch messages to server.
   returnMessage = ChannelServices.SyncDispatchMessage(myMessage);
   // Pushing return value and OUT parameters back onto stack.
   IMethodReturnMessage myMethodReturnMessage = (IMethodReturnMessage)returnMessage;
   return returnMessage;
}
Public Overrides Function Invoke(myMessage As IMessage) As IMessage
   Console.WriteLine("MyProxy 'Invoke method' Called...")
   If TypeOf myMessage Is IMethodCallMessage Then
      Console.WriteLine("IMethodCallMessage")
   End If
   If TypeOf myMessage Is IMethodReturnMessage Then
      Console.WriteLine("IMethodReturnMessage")
   End If
   If TypeOf myMessage Is IConstructionCallMessage Then
      ' Initialize a new instance of remote object
      Dim myIConstructionReturnMessage As IConstructionReturnMessage = _
            Me.InitializeServerObject(CType(myMessage, IConstructionCallMessage))
      Dim constructionResponse As _
            New ConstructionResponse(Nothing, CType(myMessage, IMethodCallMessage))
      Return constructionResponse
   End If
   Dim myIDictionary As IDictionary = myMessage.Properties
   Dim returnMessage As IMessage
   myIDictionary("__Uri") = myUri
   ' Synchronously dispatch messages to server.
   returnMessage = ChannelServices.SyncDispatchMessage(myMessage)
   ' Pushing return value and OUT parameters back onto stack.
   Dim myMethodReturnMessage As IMethodReturnMessage = _
         CType(returnMessage, IMethodReturnMessage)
   Return returnMessage
End Function 'Invoke

설명

매개 변수인 ctorMsg 경우 메서드는 nullInitializeServerObject 현재RealProxy로 표현되는 원격 개체의 새 인스턴스에 대해 매개 변수가 없는 생성자를 호출합니다.

적용 대상