RealProxy.InitializeServerObject(IConstructionCallMessage) Method    
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Initializes a new instance of the object Type of the remote object that the current instance of RealProxy represents with the specified 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
	Parameters
- ctorMsg
 - IConstructionCallMessage
 
A construction call message that contains the constructor parameters for the new instance of the remote object that is represented by the current RealProxy. Can be null.
Returns
The result of the construction request.
- Attributes
 
Exceptions
The immediate caller does not have UnmanagedCode permission.
Examples
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
	Remarks
If the ctorMsg parameter is null, then the InitializeServerObject method calls the parameterless constructor for the new instance of the remote object that is represented by the current RealProxy.