RealProxy.Invoke メソッド
アセンブリ: mscorlib (mscorlib.dll 内)

Dim instance As RealProxy Dim msg As IMessage Dim returnValue As IMessage returnValue = instance.Invoke(msg)
戻り値
呼び出されたメソッドが返すメッセージで、out パラメータまたは ref パラメータのどちらかと戻り値を格納しているメッセージ。

RealProxy によって回復された透過プロキシが呼び出されると、透過プロキシはこの呼び出しを Invoke メソッドにデリゲートします。Invoke メソッドは、msg パラメータのメッセージを IMethodCallMessage に変換し、RealProxy の現在のインスタンスで表されるリモート オブジェクトに送信します。
IMessage パラメータは、IMessage.Properties プロパティを使用してディクショナリを提供します。ディクショナリは、呼び出されたメソッドの名前やそのパラメータなど、メソッドの呼び出しに関する情報の名前/値ペアを格納しています。

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
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; }
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; }

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からRealProxy.Invoke メソッドを検索する場合は、下記のリンクをクリックしてください。

- RealProxy.Invoke メソッドのページへのリンク