IMethodReturnMessage IMethodReturnMessage IMethodReturnMessage IMethodReturnMessage Interface

Definition

Definiert die Rückgabemeldungsschnittstelle für Methodenaufrufe.Defines the method call return message interface.

public interface class IMethodReturnMessage : System::Runtime::Remoting::Messaging::IMethodMessage
[System.Runtime.InteropServices.ComVisible(true)]
public interface IMethodReturnMessage : System.Runtime.Remoting.Messaging.IMethodMessage
type IMethodReturnMessage = interface
    interface IMethodMessage
    interface IMessage
Public Interface IMethodReturnMessage
Implements IMethodMessage
Abgeleitet
Attribute
Implementiert

Beispiele

Der folgende Beispielcode zeigt einen benutzerdefinierten Proxy, der RealProxy.Invoke überschreibt, um die Rückgabe Nachrichten Informationen in die Konsole zu schreiben.The following example code shows a custom proxy that overrides RealProxy.Invoke in order to write the return message information to the console.

[System::Security::Permissions::SecurityPermissionAttribute
(System::Security::Permissions::SecurityAction::LinkDemand, 
Flags=System::Security::Permissions::SecurityPermissionFlag::Infrastructure)]
[System::Security::Permissions::SecurityPermissionAttribute
(System::Security::Permissions::SecurityAction::InheritanceDemand, 
Flags=System::Security::Permissions::SecurityPermissionFlag::Infrastructure)]
public ref class MyProxy: public RealProxy
{
private:
   String^ stringUri;
   MarshalByRefObject^ myMarshalByRefObject;

public:
   MyProxy( Type^ myType ) : RealProxy( myType )
   {
      myMarshalByRefObject = dynamic_cast<MarshalByRefObject^>(Activator::CreateInstance( myType ));
      ObjRef^ myObject = RemotingServices::Marshal( myMarshalByRefObject );
      stringUri = myObject->URI;
   }

   virtual IMessage^ Invoke( IMessage^ myMessage ) override
   {
      IMethodCallMessage^ myCallMessage = (IMethodCallMessage^)( myMessage );

      IMethodReturnMessage^ myIMethodReturnMessage =
         RemotingServices::ExecuteMessage( myMarshalByRefObject, myCallMessage );

      Console::WriteLine( "Method name : {0}", myIMethodReturnMessage->MethodName );
      Console::WriteLine( "The return value is : {0}", myIMethodReturnMessage->ReturnValue );

      // Get number of 'ref' and 'out' parameters.
      int myArgOutCount = myIMethodReturnMessage->OutArgCount;
      Console::WriteLine( "The number of 'ref', 'out' parameters are : {0}",
         myIMethodReturnMessage->OutArgCount );
      // Gets name and values of 'ref' and 'out' parameters.
      for ( int i = 0; i < myArgOutCount; i++ )
      {
         Console::WriteLine( "Name of argument {0} is '{1}'.",
            i, myIMethodReturnMessage->GetOutArgName( i ) );
         Console::WriteLine( "Value of argument {0} is '{1}'.",
            i, myIMethodReturnMessage->GetOutArg( i ) );
      }
      Console::WriteLine();
      array<Object^>^myObjectArray = myIMethodReturnMessage->OutArgs;
      for ( int i = 0; i < myObjectArray->Length; i++ )
         Console::WriteLine( "Value of argument {0} is '{1}' in OutArgs",
            i, myObjectArray[ i ] );
      return myIMethodReturnMessage;
   }
};
[PermissionSet(SecurityAction.Demand, Name="FullTrust")]
public class MyProxy : RealProxy
{
   String stringUri;
   MarshalByRefObject myMarshalByRefObject;

   public MyProxy(Type myType): base(myType)
   {
      myMarshalByRefObject = (MarshalByRefObject)Activator.CreateInstance(myType);
      ObjRef myObject = RemotingServices.Marshal(myMarshalByRefObject);
      stringUri = myObject.URI;
   }

   public override IMessage Invoke(IMessage myMessage)
   {
      IMethodCallMessage myCallMessage = (IMethodCallMessage)myMessage;

      IMethodReturnMessage myIMethodReturnMessage =
         RemotingServices.ExecuteMessage(myMarshalByRefObject, myCallMessage);

      Console.WriteLine("Method name : " + myIMethodReturnMessage.MethodName);
      Console.WriteLine("The return value is : " + myIMethodReturnMessage.ReturnValue);

      // Get number of 'ref' and 'out' parameters.
      int myArgOutCount = myIMethodReturnMessage.OutArgCount;
      Console.WriteLine("The number of 'ref', 'out' parameters are : " +
         myIMethodReturnMessage.OutArgCount);
      // Gets name and values of 'ref' and 'out' parameters.
      for(int i = 0; i < myArgOutCount; i++)
      {
         Console.WriteLine("Name of argument {0} is '{1}'.",
            i, myIMethodReturnMessage.GetOutArgName(i));
         Console.WriteLine("Value of argument {0} is '{1}'.",
            i, myIMethodReturnMessage.GetOutArg(i));
      }
      Console.WriteLine();
      object[] myObjectArray = myIMethodReturnMessage.OutArgs; 
      for(int i = 0; i < myObjectArray.Length; i++)
         Console.WriteLine("Value of argument {0} is '{1}' in OutArgs",
            i, myObjectArray[i]);
      return myIMethodReturnMessage;
   }
}
<PermissionSet(SecurityAction.Demand, Name:="FullTrust")> _
Public Class MyProxy
   Inherits RealProxy
   Private stringUri As String
   Private myMarshalByRefObject As MarshalByRefObject
   
   Public Sub New(myType As Type)
      MyBase.New(myType)
      myMarshalByRefObject = CType(Activator.CreateInstance(myType), MarshalByRefObject)
      Dim myObject As ObjRef = RemotingServices.Marshal(myMarshalByRefObject)
      stringUri = myObject.URI
   End Sub
   
   Public Overrides Function Invoke(myMessage As IMessage) As IMessage
      Dim myCallMessage As IMethodCallMessage = CType(myMessage, IMethodCallMessage)

      Dim myIMethodReturnMessage As IMethodReturnMessage = RemotingServices. _
         ExecuteMessage(myMarshalByRefObject, myCallMessage)

      Console.WriteLine("Method name : " + myIMethodReturnMessage.MethodName)
      Console.WriteLine("The return value is : " + myIMethodReturnMessage.ReturnValue)
      
      ' Get number of 'ref' and 'out' parameters.
      Dim myArgOutCount As Integer = myIMethodReturnMessage.OutArgCount
      Console.WriteLine("The number of 'ref', 'out' parameters are : " + _
         myIMethodReturnMessage.OutArgCount.ToString())
      ' Gets name and values of 'ref' and 'out' parameters.
      Dim i As Integer
      For i = 0 To myArgOutCount - 1
         Console.WriteLine("Name of argument {0} is '{1}'.", i, _
            myIMethodReturnMessage.GetOutArgName(i))
         Console.WriteLine("Value of argument {0} is '{1}'.", i, _
            myIMethodReturnMessage.GetOutArg(i))
      Next i
      Console.WriteLine()
      Dim myObjectArray As Object() = myIMethodReturnMessage.OutArgs
      For i = 0 To myObjectArray.Length - 1
         Console.WriteLine("Value of argument {0} is '{1}' in OutArgs", i, myObjectArray(i))
      Next i
      Return myIMethodReturnMessage
   End Function 'Invoke
End Class

Hinweise

Eine Methode zum Abrufen der Rückgabe Meldung stellt die Antwort auf einen Methoden Aufrufwert für ein Objekt am Ende der Nachrichten Senke dar.A method call return message represents the response to a method call on an object at the end of the message sink. Ein IMethodReturnMessage wird als Ergebnis einer Methode generiert, die für ein Remote Objekt aufgerufen wird, und wird verwendet, um die Ergebnisse des Methoden Aufrufs an den Aufrufer zurückzugeben.An IMethodReturnMessage is generated as a result of a method called on a remote object, and is used to return the results of the method call back to the caller.

Eigenschaften

ArgCount ArgCount ArgCount ArgCount

Ruft die Anzahl von Argumenten ab, die an die Methode übergeben werden.Gets the number of arguments passed to the method.

(Inherited from IMethodMessage)
Args Args Args Args

Ruft ein Array von Argumenten ab, die an die Methode übergeben werden.Gets an array of arguments passed to the method.

(Inherited from IMethodMessage)
Exception Exception Exception Exception

Ruft die Ausnahme ab, die während des Methodenaufrufs ausgelöst wurde.Gets the exception thrown during the method call.

HasVarArgs HasVarArgs HasVarArgs HasVarArgs

Ruft einen Wert ab, der angibt, ob die Meldung variable Argumente besitzt.Gets a value indicating whether the message has variable arguments.

(Inherited from IMethodMessage)
LogicalCallContext LogicalCallContext LogicalCallContext LogicalCallContext

Ruft den LogicalCallContext für den aktuellen Methodenaufruf ab.Gets the LogicalCallContext for the current method call.

(Inherited from IMethodMessage)
MethodBase MethodBase MethodBase MethodBase

Ruft den MethodBase der aufgerufenen Methode ab.Gets the MethodBase of the called method.

(Inherited from IMethodMessage)
MethodName MethodName MethodName MethodName

Ruft den Namen der aufgerufenen Methode ab.Gets the name of the invoked method.

(Inherited from IMethodMessage)
MethodSignature MethodSignature MethodSignature MethodSignature

Ruft ein Objekt ab, das die Methodensignatur enthält.Gets an object containing the method signature.

(Inherited from IMethodMessage)
OutArgCount OutArgCount OutArgCount OutArgCount

Ruft die Anzahl der Argumente im Methodenaufruf ab, die als ref-Parameter oder out-Parameter gekennzeichnet sind.Gets the number of arguments in the method call marked as ref or out parameters.

OutArgs OutArgs OutArgs OutArgs

Gibt das angegebene Argument zurück, das als ref-Parameter oder out-Parameter gekennzeichnet ist.Returns the specified argument marked as a ref or an out parameter.

Properties Properties Properties Properties

Ruft ein IDictionary ab, das eine Auflistung der Meldungseigenschaften darstellt.Gets an IDictionary that represents a collection of the message's properties.

(Inherited from IMessage)
ReturnValue ReturnValue ReturnValue ReturnValue

Ruft den Rückgabewert des Methodenaufrufs ab.Gets the return value of the method call.

TypeName TypeName TypeName TypeName

Ruft den vollständigen Type-Namen des Objekts ab, für das der Aufruf bestimmt ist.Gets the full Type name of the specific object that the call is destined for.

(Inherited from IMethodMessage)
Uri Uri Uri Uri

Ruft den URI des bestimmten Objekts ab, für das der Aufruf bestimmt ist.Gets the URI of the specific object that the call is destined for.

(Inherited from IMethodMessage)

Methoden

GetArg(Int32) GetArg(Int32) GetArg(Int32) GetArg(Int32)

Ruft ein bestimmtes Argument als Object ab.Gets a specific argument as an Object.

(Inherited from IMethodMessage)
GetArgName(Int32) GetArgName(Int32) GetArgName(Int32) GetArgName(Int32)

Ruft den Namen des Arguments ab, das an die Methode übergeben wird.Gets the name of the argument passed to the method.

(Inherited from IMethodMessage)
GetOutArg(Int32) GetOutArg(Int32) GetOutArg(Int32) GetOutArg(Int32)

Gibt das angegebene Argument zurück, das als ref-Parameter oder out-Parameter gekennzeichnet ist.Returns the specified argument marked as a ref or an out parameter.

GetOutArgName(Int32) GetOutArgName(Int32) GetOutArgName(Int32) GetOutArgName(Int32)

Gibt den Namen des angegebenen Arguments zurück, das als ref-Parameter oder out-Parameter gekennzeichnet ist.Returns the name of the specified argument marked as a ref or an out parameter.

Gilt für: