In Chapter 2, “Understanding the .NET Remoting Architecture,” we discussed the overall architecture of .NET Remoting, explaining each of the major architectural components that make up the .NET Remoting infrastructure. In this chapter, we’ll show you how to use .NET Remoting to build a distributed job assignment system.
The sample application in this chapter demonstrates how to apply the various aspects of the .NET Remoting technology discussed in Chapter 2 to the distributed application development concepts discussed in Chapter 1, “Understanding Distributed Application Development.” In the second part of this book, we’ll use this application to demonstrate the extensibility of .NET Remoting by developing a custom proxy, channel, and formatter.
In implementing the sample application, we’ll discuss and demonstrate the following .NET Remoting tasks:
Defining remote types
Hosting remote objects
Handling events over .NET Remoting boundaries
Publishing and consuming remote objects
Exposing a remote object as a Web Service
Packaging metadata to minimize dependencies