ReturnMessage 类
定义
保存为响应远程对象上的方法调用而返回的消息。Holds a message returned in response to a method call on a remote object.
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
- 继承
-
ReturnMessage
- 属性
- 实现
示例
[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
注解
备注
此类在类级别建立链接要求和继承要求。This class makes a link demand and an inheritance demand at the class level. SecurityException当直接调用方或派生类没有基础结构权限时,将引发。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.
构造函数
| ReturnMessage(Exception, IMethodCallMessage) |
初始化 ReturnMessage 类的新实例。Initializes a new instance of the ReturnMessage class. |
| ReturnMessage(Object, Object[], Int32, LogicalCallContext, IMethodCallMessage) |
使用方法调用后返回到调用方的所有信息来初始化 ReturnMessage 类的新实例。Initializes a new instance of the ReturnMessage class with all the information returning to the caller after the method call. |
属性
| ArgCount |
获取被调用方法的参数数目。Gets the number of arguments of the called method. |
| Args |
获取传递给在远程对象上调用的方法的指定参数。Gets a specified argument passed to the method called on the remote object. |
| Exception |
获取在远程方法调用期间引发的异常。Gets the exception that was thrown during the remote method call. |
| HasVarArgs |
获取一个值,该值指示被调用方法是否接受数目可变的参数。Gets a value indicating whether the called method accepts a variable number of arguments. |
| LogicalCallContext |
获取被调用方法的 LogicalCallContext。Gets the LogicalCallContext of the called method. |
| MethodBase |
获取被调用方法的 MethodBase。Gets the MethodBase of the called method. |
| MethodName |
获取被调用方法的名称。Gets the name of the called method. |
| MethodSignature |
获取包含方法签名的 Type 对象的数组。Gets an array of Type objects containing the method signature. |
| OutArgCount |
获取被调用方法上的 |
| OutArgs |
获取作为 |
| Properties |
获取包含在当前 IDictionary 中的属性的 ReturnMessage。Gets an IDictionary of properties contained in the current ReturnMessage. |
| ReturnValue |
获取被调用方法所返回的对象。Gets the object returned by the called method. |
| TypeName |
获取在其上调用远程方法的类型的名称。Gets the name of the type on which the remote method was called. |
| Uri |
获取或设置在其上调用远程方法的远程对象的 URI。Gets or sets the URI of the remote object on which the remote method was called. |
方法
| Equals(Object) |
确定指定对象是否等于当前对象。Determines whether the specified object is equal to the current object. (继承自 Object) |
| GetArg(Int32) |
返回在方法调用期间传递给远程方法的指定参数。Returns a specified argument passed to the remote method during the method call. |
| GetArgName(Int32) |
返回指定的方法参数的名称。Returns the name of a specified method argument. |
| GetHashCode() |
作为默认哈希函数。Serves as the default hash function. (继承自 Object) |
| GetOutArg(Int32) |
返回在远程方法调用期间作为 |
| GetOutArgName(Int32) |
返回传递给远程方法的指定的 |
| GetType() |
获取当前实例的 Type。Gets the Type of the current instance. (继承自 Object) |
| MemberwiseClone() |
创建当前 Object 的浅表副本。Creates a shallow copy of the current Object. (继承自 Object) |
| ToString() |
返回表示当前对象的字符串。Returns a string that represents the current object. (继承自 Object) |