The namespace provides classes and interfaces that allow developers to create and configure distributed applications. Some of the more important classes of the namespace are the class, the class, and the class. The class contains static methods for interfacing with configuration settings. The method allows developers to configure the remoting infrastructure through the use of XML formatted configuration files. The class also contains several methods for client-end and server-end registration of client and server activated objects that reside on the server. The class provides a number of methods to help in using and publishing remoted objects. The method provides the functionality for storing all the relevant information required to activate and communicate with a remote object in an instance of the class for later serialization and transmission to a remote location. The method reverses this process, creating a proxy for a remote object that can be used by an application without regard for any remoting subdivisions. The class holds all the relevant information required to activate and communicate with a remote object. This class is a serializable representation of an object that is transmitted to a remote location using a channel, where it is unmarshaled (see ) and can be used to create a local proxy of the remoted object. Marshal-by-reference objects (MBRs) do not reside in memory forever. Instead, unless the type overrides to control its own lifetime policies, each MBR has a finite lifetime before the .NET Framework remoting system begins the process of deleting it and reclaiming the memory. For more information, see Lifetime Leases.