Advanced .NET Remoting

Advanced .NET Remoting
Authors
Ingo Rammer
ISBN
1590590252
Published
05 Apr 2002
Purchase online
amazon.com

With the arrival of .NET remoting, any programmer who wants to work with distributed objects can benefit from Advanced .NET Remoting, a solid tour of basic and expert techniques for working with distributed code on Microsoft's newest platform. This title's concise, code-centered approach, backed up by judicious discussion of the finer technical points of .NET, is what helps make it a success.

Editorial Reviews

Advanced .NET Remoting is the first book on the market that offers in-depth coverage of the .NET Remoting Framework. The book is divided into two sectionsthe first detailing the specifics of the framework and its capabilities in real-world applications. Topics include formatters, channels, lifetime issues, security, configuration files, and the basics of server-activated objects versus client-activated objects. Also covered in detail are Windows Services, IIS, and server-side hosting of remotable components in console applications.

The second part of the book presents an unprecedented view of .NET Remoting internals. Author Ingo Rammer shows how the framework uses message sinks and sink providers, and gives in-depth instruction on how to implement message and channel sinks. These chapters also give insight into the synchronous and asynchronous message processing within the framework.

Going far beyond the information youll gather from Microsoft's documentation, Rammer explains how .NET Remoting really works, and how it can be extended. The book also includes a chapter on the development process and source code for several real-world message sinks, and shows you how to develop a custom Remoting transport channel from scratch. It concludes with detailed coverage of the ContextBoundObject class and .NET contexts, essential for using the technology within individual, client-only applications.

With the arrival of .NET remoting, any programmer who wants to work with distributed objects can benefit from Advanced .NET Remoting, a solid tour of basic and expert techniques for working with distributed code on Microsoft's newest platform.

This title's concise, code-centered approach, backed up by judicious discussion of the finer technical points of .NET, is what helps make it a success. After touring the history of standards used for distributed computing over the years, from DCE/RPC to CORBA to COM and related Microsoft technologies, the author zeroes in on .NET remoting. Short, digestible examples highlight the relevant objects and APIs useful to create and invoke objects remotely. From the basics, the book moves forward with other possibilities for designers, whether using by value or reference arguments for objects, client-activated vs. server-activated objects, and a useful section on asynchronous processing for remote function calls. Early examples use the APIs and strategies you'll need to work on your own, and the author highlights "best practices" like using class factories.

Detailed discussion of deployment options (using XML) is followed by a quick discussion of security and authentication and then managing object lifetimes (including programmatic options through leasing and sponsors). Coverage of using strongly named assemblies (for the Global Assembly Cache, GAC) and versioning stresses the finer points of how different versions of .NET components can be invoked on the same server.

For experts, there’s a fine section that covers .NET remoting internals, explains the details of making distributed calls in .NET, and shows off how messages are formatted and passed between systems through proxies. Excellent use of sequence diagrams showing these features at work will make this chapter invaluable for the advanced reader (though you still use the sample code without having to master these .NET internals).

The book returns to its pragmatic focus with some interesting sample code for compressing and encrypting .NET remote messages with built-in support classes in .NET. A highly developed chapter demonstrates how you use custom transport channel to make remote calls via e-mail (through SMTP and POP3), showing off the flexibility of the .NET programming model. For the truly adventurous developer, a final chapter explores several (undocumented) features for examining and using context objects used in the .NET remoting model.

Overall, this concisely packaged book mixes the right level of sample code, detailed explanation, and advanced material that will let C# developers get going fast with .NET remoting, which can greatly simplify distributed programming on the new Windows platform. --Richard Dragan

Topics covered: Introduction to .NET remoting, history of distributed computing mechanisms (including DCE/RPC, CORBA, and COM to .NET), advantages of .NET remoting (and architecture), a simple getting started program using .NET remoting with a server and client, adding validation, types of remoting (passing objects by value and reference, singletons, published objects), using factories to create objects, server-activated vs. client-activated objects, lifetime management, synchronous vs. asynchronous function calls, multi-server programming, shared assemblies (and the soapsuds utility and proxies), configuration (XML config. files and standard options), deployment (console vs. Windows services vs. IIS), security issues (authentication and checking roles), using SSL and encryption, object lifetime management (lease time and managers, server-side sponsors), versioning for .NET components (strong naming and the Global Assembly Cache, GAC), delegate and events (tips for event handling), .NET remoting internals (proxies, messages, message sinks, formatters, and transport channels), internals of asynchronous processing, advanced sink programming (client-, server-side, and dynamic sinks), extending .NET remoting (including message compression and encryption support), custom transport channels (using POP3/SMTP), and undocumented techniques for working with .NET remoting context objects.

You might also like...

Comments

Contribute

Why not write for us? Or you could submit an event or a user group in your area. Alternatively just tell us what you think!

Our tools

We've got automatic conversion tools to convert C# to VB.NET, VB.NET to C#. Also you can compress javascript and compress css and generate sql connection strings.

“Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.” - Antoine de Saint Exupéry