Partager via


ReturnMessage Classe

Définition

Contient un message retourné en réponse à un appel de méthode sur un objet distant.

public ref class ReturnMessage : System::Runtime::Remoting::Messaging::IMethodReturnMessage
public class ReturnMessage : System.Runtime.Remoting.Messaging.IMethodReturnMessage
[System.Runtime.InteropServices.ComVisible(true)]
public class ReturnMessage : System.Runtime.Remoting.Messaging.IMethodReturnMessage
[System.Runtime.InteropServices.ComVisible(true)]
[System.Security.SecurityCritical]
public class ReturnMessage : System.Runtime.Remoting.Messaging.IMethodReturnMessage
type ReturnMessage = class
    interface IMethodReturnMessage
    interface IMethodMessage
    interface IMessage
[<System.Runtime.InteropServices.ComVisible(true)>]
type ReturnMessage = class
    interface IMethodReturnMessage
    interface IMethodMessage
    interface IMessage
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Security.SecurityCritical>]
type ReturnMessage = class
    interface IMethodReturnMessage
    interface IMethodMessage
    interface IMessage
Public Class ReturnMessage
Implements IMethodReturnMessage
Héritage
ReturnMessage
Attributs
Implémente

Exemples

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

Remarques

Notes

Cette classe crée une demande de liaison et une demande d’héritage au niveau de la classe. Un SecurityException est levée lorsque l’appelant immédiat ou la classe dérivée n’a pas d’autorisation d’infrastructure. Pour plus d’informations sur les demandes de sécurité, consultez Demandes de lien et demandes d’héritage.

Constructeurs

ReturnMessage(Exception, IMethodCallMessage)

Initialise une nouvelle instance de la classe ReturnMessage.

ReturnMessage(Object, Object[], Int32, LogicalCallContext, IMethodCallMessage)

Initialise une nouvelle instance de la classe ReturnMessage avec toutes les informations retournant à l'appelant après l'appel de méthode.

Propriétés

ArgCount

Obtient le nombre d'arguments de la méthode appelée.

Args

Obtient un argument spécifié passé à la méthode appelée sur l'objet distant.

Exception

Obtient l'exception qui a été levée pendant l'appel de méthode distant.

HasVarArgs

Obtient une valeur indiquant si la méthode appelée accepte un nombre variable d'arguments.

LogicalCallContext

Obtient le LogicalCallContext de la méthode appelée.

MethodBase

Obtient le MethodBase de la méthode appelée.

MethodName

Obtient le nom de la méthode appelée.

MethodSignature

Obtient un tableau d'objets Type contenant la signature de méthode.

OutArgCount

Obtient le nombre d'arguments out ou ref sur la méthode appelée.

OutArgs

Obtient un objet spécifié passé comme paramètre out ou ref à la méthode appelée.

Properties

Obtient un IDictionary de propriétés contenues dans ReturnMessage actuel.

ReturnValue

Obtient l'objet retourné par la méthode appelée.

TypeName

Obtient le nom du type sur lequel cette méthode distante a été appelée.

Uri

Obtient ou définit l'URI de l'objet distant sur lequel la méthode distante a été appelée.

Méthodes

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetArg(Int32)

Retourne un argument spécifié passé à la méthode distante pendant l'appel de méthode.

GetArgName(Int32)

Retourne le nom d'un argument de méthode spécifié.

GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetOutArg(Int32)

Retourne l'objet passé comme paramètre out ou ref pendant l'appel de méthode distant.

GetOutArgName(Int32)

Retourne le nom d'un paramètre out ou ref spécifié passé à la méthode distante.

GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

S’applique à