The .NET Framework is a modern platform for building distributed applications. In this chapter, you learned how to create distributed applications using the remoting library of the .NET Framework.
You learned that the remoting framework is made up of several elements such as a remotable class, remoting host, remoting client, channel, formatters, and so on. Each of these elements is configurable and extensible. You practiced creating a remotable class and hosting that in several modes such as server-activated SingleCall, server-activated Singleton, and client-activated objects. 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 remoting for a remoting host and a remoting client. You noted that depending on your requirements, you can save the remoting configuration at two levelsone at the application level (.exe.config, .dll.config, or web.config for IIS) and the other at machine-level (machine.config).
Finally, I discussed the technique of invoking a remote method asynchronously with the help of delegates. An asynchronous method class 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.