RealProxy.InitializeServerObject(IConstructionCallMessage) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Initialisiert eine neue Instanz des Objekts Type des Remoteobjekts, das die aktuelle Instanz von 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
Parameter
- ctorMsg
- IConstructionCallMessage
Eine Konstruktionsaufrufnachricht, die die Konstruktorparameter für die neue Instanz des Remoteobjekts enthält, die durch den aktuellen RealProxydargestellt wird. Kann null sein.
Gibt zurück
Das Ergebnis des Bauantrags.
- Attribute
Ausnahmen
Der sofortige Aufrufer verfügt nicht über die Berechtigung "UnmanagedCode".
Beispiele
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
Hinweise
Wenn der ctorMsg Parameter lautet null, ruft die InitializeServerObject Methode den parameterlosen Konstruktor für die neue Instanz des Remoteobjekts auf, das durch den aktuellen RealProxydargestellt wird.