This documentation is archived and is not being maintained.

.NET Remoting 

Establishing communication between objects that run in different processes, whether on the same computer or on computers thousands of miles apart, is a common development goal, especially when building widely-distributed applications. Traditionally, this has required in-depth knowledge not only of the objects on either end of the communication stream, but also of a host of lower-level protocols, application programming interfaces, and configuration tools or files. In short, it was a complex task demanding substantial concentration and experience.

The .NET Framework makes several communication methods available to accomplish this task quickly and easily, even with minimal knowledge of protocols and encodings. As a result, whether you need to develop a Web application quickly or spend more time building a critical enterprise-wide application involving many computers or operating systems and using multiple protocols and serialization optimizations, the .NET Framework supports your scenario. Communicating across processes is still a complex task, but much of it is now handled by the .NET Framework.

.NET remoting enables client applications to use objects in other processes on the same computer or on any other computer available on its network. You can also use .NET remoting to communicate with other application domains in the same process. .NET remoting provides an abstract approach to interprocess communication that separates the remotable object from a specific server and client process and from a specific mechanism of communication. As a result, it is flexible and easily customizable. You can replace one communication protocol with another, or one serialization format with another without recompiling the client or the server. In addition, the remoting system assumes no particular application model. You can communicate from a Web application, a console application, a Windows Service – from almost anything you want to use. Remoting servers can also be any type of executable application. Any application can host remoting objects and thus provide its services to any client on its computer or network.

In This Section

Choosing Communication Options in .NET

Describes the options available in the .NET Framework for interapplication domain communication.

.NET Framework Remoting Overview

Provides a high-level overview of .NET remoting as well as more in-depth information.

Advanced Remoting

Provides information about different ways to provide advanced communication.

Remoting Examples

Provides several complete sample applications that use different elements of the remoting infrastructure.


Remoting Settings Schema

Provides reference information about the elements used to configure .NET remoting using a configuration file.


Provides classes and interfaces that allow developers to create and configure distributed applications.

Related Sections

Application Domains

Provides an overview of application domains and their use in the common language runtime.