This documentation is archived and is not being maintained.

BinaryFormatter::UnsafeDeserializeMethodResponse Method

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

Namespace:  System.Runtime.Serialization.Formatters.Binary
Assembly:  mscorlib (in mscorlib.dll)

Object^ UnsafeDeserializeMethodResponse(
	Stream^ serializationStream, 
	HeaderHandler^ handler, 
	IMethodCallMessage^ methodCallMessage


Type: System.IO::Stream
The stream from which to deserialize the object graph.
Type: System.Runtime.Remoting.Messaging::HeaderHandler
The HeaderHandler that handles any headers in the serializationStream. Can be nullptr.
Type: System.Runtime.Remoting.Messaging::IMethodCallMessage
The IMethodCallMessage that contains details about where the call came from.

Return Value

Type: System::Object
The deserialized response to the remote method call.


The serializationStream is nullptr.


The serializationStream supports seeking, but its length is 0.


The caller does not have the required permission.

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.

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.