The .NET Framework is a modern platform for building distributed applications. In this chapter you learned how to create distributed applications by using the remoting library of the .NET Framework.
You learned that the remoting framework is made up of several elements, such as remotable classes, remoting hosts, remoting clients, channels, formatters, and so on. Each of these elements is configurable and extensible. You practiced creating a remotable class and hosting that class in several modes such as server-activated SingleCall, server-activated Singleton, and client-activated. You also used different channels, such as HTTP and TCP, and different formatters, such as SOAP and binary.
I also demonstrated the use of a configuration file to configure the remoting configuration for a remoting host and the remoting client. You noted that depending on your requirements, you can write remoting configurations at two level: one at the application level (.exe.config, or web.config for IIS) and the other at the machine level (machine.config).
Finally, I discussed the technique of invoking remote methods asynchronously. An asynchronous method call makes a user interfacebased application, such as a Windows forms application, quite responsive to user input despite the delays caused in a remote method call.