Create and consume a .NET Remoting object.
Implement server-activated components.
Implement client-activated components.
Select a channel protocol and a formatter. Channel protocols include TCP and HTTP. Formatters include SOAP and binary.
Create client configuration files and server configuration files.
Implement an asynchronous method.
Create the listener service.
Instantiate and invoke a .NET Remoting object.
The .NET Remoting architecture helps you create distributed applications by enabling your applications to communicate with other applications running separately on the same computer or with applications on a different computer. The Common Language Runtime also provides application domains, a new way of isolating managed code applications that are running on the same computer. Rather than requiring each application to run in a separate memory process on the computer, as in COM applications, you can run several application domains in a single process. Because managed code is verified to be “type-safe,” it cannot cause memory faults that would crash the application. Therefore, running code in two different application domains provides the same level of isolation that would exist in separate processes. However, the additional overhead of making cross-process calls or switching between processes is not required. Running multiple applications within a single process increases server performance and scalability.
This chapter discusses some of the important features of the .NET Remoting architecture, such as selecting an appropriate channel protocol and format, selecting client-activated or server-activated components, creating configuration files, calling remote objects asynchronously, and more. It also covers the classes in the System.Runtime.Remoting namespace that provide support for Remoting object invocation.