BinaryFormatter.UnsafeDeserializeMethodResponse(Stream, HeaderHandler, IMethodCallMessage) BinaryFormatter.UnsafeDeserializeMethodResponse(Stream, HeaderHandler, IMethodCallMessage) BinaryFormatter.UnsafeDeserializeMethodResponse(Stream, HeaderHandler, IMethodCallMessage) BinaryFormatter.UnsafeDeserializeMethodResponse(Stream, HeaderHandler, IMethodCallMessage) Method

Definition

Deserializes a response to a remote method call from the provided Stream.

public:
 System::Object ^ UnsafeDeserializeMethodResponse(System::IO::Stream ^ serializationStream, System::Runtime::Remoting::Messaging::HeaderHandler ^ handler, System::Runtime::Remoting::Messaging::IMethodCallMessage ^ methodCallMessage);
[System.Runtime.InteropServices.ComVisible(false)]
[System.Security.SecurityCritical]
public object UnsafeDeserializeMethodResponse (System.IO.Stream serializationStream, System.Runtime.Remoting.Messaging.HeaderHandler handler, System.Runtime.Remoting.Messaging.IMethodCallMessage methodCallMessage);
member this.UnsafeDeserializeMethodResponse : System.IO.Stream * System.Runtime.Remoting.Messaging.HeaderHandler * System.Runtime.Remoting.Messaging.IMethodCallMessage -> obj
Public Function UnsafeDeserializeMethodResponse (serializationStream As Stream, handler As HeaderHandler, methodCallMessage As IMethodCallMessage) As Object

Parameters

serializationStream
Stream Stream Stream Stream

The stream from which to deserialize the object graph.

handler
HeaderHandler HeaderHandler HeaderHandler HeaderHandler

The HeaderHandler that handles any headers in the serializationStream. Can be null.

methodCallMessage
IMethodCallMessage IMethodCallMessage IMethodCallMessage IMethodCallMessage

The IMethodCallMessage that contains details about where the call came from.

Returns

The deserialized response to the remote method call.

Exceptions

The serializationStream supports seeking, but its length is 0.

The caller does not have the required permission.

Remarks

Details about the caller object are not sent to the remote object during the method call. Instead, these details are obtained from the original method call that is passed to the current method in the methodCallMessage parameter.

This method uses SecurityAction.LinkDemand to prevent it from being called from untrusted code; only the immediate caller is required to have SecurityPermissionAttribute.SerializationFormatter permission. Do not use this method if your code can be called from partially trusted code. In partially trusted scenarios, use DeserializeMethodResponse instead. In full trust scenarios, UnsafeDeserializeMethodResponse provides better performance than DeserializeMethodResponse.

For successful deserialization, the current position in the stream must be at the beginning of the object graph.

Important

Calling this method with untrusted data is a security risk. Call this method only with trusted data. For more information, see Data Validation.

Security

SecurityPermission
To provide serialization services. Associated enumeration: SerializationFormatter.

Applies to