Accessing Objects in Other Application Domains Using .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 if you do not know much about 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 Remoting Overview
- Provides a high-level overview of .NET remoting as well as more in-depth information.
- Advanced Remoting
- Provides information on different ways to provide advanced communication.
- Remoting Examples
- Provides several complete sample applications that use different elements of the remoting infrastructure.