This documentation is archived and is not being maintained.

RemotingSurrogateSelector Class

Selects the remoting surrogate that can be used to serialize an object that derives from a MarshalByRefObject.

For a list of all members of this type, see RemotingSurrogateSelector Members.


[Visual Basic]
Public Class RemotingSurrogateSelector
   Implements ISurrogateSelector
public class RemotingSurrogateSelector : ISurrogateSelector
public __gc class RemotingSurrogateSelector : public
public class RemotingSurrogateSelector implements

Thread Safety

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


A surrogate is an object that can handle the serialization requirements of an object. Remoting surrogates handle remoting serialization requirements of objects that derive from MarshalByRefObject. The RemotingSurrogateSelector manages registered surrogates for use by the BinaryFormatter and SoapFormatter.

During serialization for remoting purposes of a MarshalByRefObject, the remoting surrogate creates an ObjRef that contains all the relevant information required to activate and communicate with the remote object. The newly created ObjRef can then be sent to a remote location and used to create a proxy.

Note   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.


Namespace: System.Runtime.Remoting.Messaging

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

Assembly: Mscorlib (in Mscorlib.dll)

.NET Framework Security: 

See Also

RemotingSurrogateSelector Members | System.Runtime.Remoting.Messaging Namespace | ObjRef | BinaryFormatter | SoapFormatter