ReturnMessage Class

ReturnMessage Class

 

Holds a message returned in response to a method call on a remote object.

Namespace:   System.Runtime.Remoting.Messaging
Assembly:  mscorlib (in mscorlib.dll)

System.Object
  System.Runtime.Remoting.Messaging.ReturnMessage

[SecurityCriticalAttribute]
[ComVisibleAttribute(true)]
[SecurityPermissionAttribute(SecurityAction.InheritanceDemand, 
	Flags = SecurityPermissionFlag.Infrastructure)]
public class ReturnMessage : IMethodReturnMessage, IMethodMessage, 
	IMessage

NameDescription
System_CAPS_pubmethodReturnMessage(Exception, IMethodCallMessage)

Initializes a new instance of the ReturnMessage class.

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

Initializes a new instance of the ReturnMessage class with all the information returning to the caller after the method call.

NameDescription
System_CAPS_pubpropertyArgCount

Gets the number of arguments of the called method.

System_CAPS_pubpropertyArgs

Gets a specified argument passed to the method called on the remote object.

System_CAPS_pubpropertyException

Gets the exception that was thrown during the remote method call.

System_CAPS_pubpropertyHasVarArgs

Gets a value indicating whether the called method accepts a variable number of arguments.

System_CAPS_pubpropertyLogicalCallContext

Gets the LogicalCallContext of the called method.

System_CAPS_pubpropertyMethodBase

Gets the MethodBase of the called method.

System_CAPS_pubpropertyMethodName

Gets the name of the called method.

System_CAPS_pubpropertyMethodSignature

Gets an array of Type objects containing the method signature.

System_CAPS_pubpropertyOutArgCount

Gets the number of out or ref arguments on the called method.

System_CAPS_pubpropertyOutArgs

Gets a specified object passed as an out or ref parameter to the called method.

System_CAPS_pubpropertyProperties

Gets an IDictionary of properties contained in the current ReturnMessage.

System_CAPS_pubpropertyReturnValue

Gets the object returned by the called method.

System_CAPS_pubpropertyTypeName

Gets the name of the type on which the remote method was called.

System_CAPS_pubpropertyUri

Gets or sets the URI of the remote object on which the remote method was called.

NameDescription
System_CAPS_pubmethodEquals(Object)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_protmethodFinalize()

Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)

System_CAPS_pubmethodGetArg(Int32)

Returns a specified argument passed to the remote method during the method call.

System_CAPS_pubmethodGetArgName(Int32)

Returns the name of a specified method argument.

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetOutArg(Int32)

Returns the object passed as an out or ref parameter during the remote method call.

System_CAPS_pubmethodGetOutArgName(Int32)

Returns the name of a specified out or ref parameter passed to the remote method.

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_protmethodMemberwiseClone()

Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

System_CAPS_noteNote

This class makes a link demand and an inheritance demand at the class level. A SecurityException is thrown when either the immediate caller or the derived class does not have infrastructure permission. For details about security demands, see Link Demands and Inheritance Demands.

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

SecurityPermission

for operating with infrastructure code. Demand value: SecurityAction.LinkDemand; Permission Value: SecurityPermissionFlag.Infrastructure

SecurityPermission

for operating with infrastructure code. Demand value: SecurityAction.InheritanceDemand; Permission Value: SecurityPermissionFlag.Infrastructure

.NET Framework
Available since 1.1

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show:
© 2016 Microsoft