Home > Guides > Programming > .NET and Windows Programming

Toggle Open Guide Table of ContentsGuide Contents

Close Table of ContentsGuide Contents

Close Table of Contents

.NET Remoting Overview

Last updated Jun 23, 2005.

.NET Remoting is a distributed programming model that is based on distributed objects. .NET Remoting is designed to provide the same concepts of distributed component services that technologies such as DCOM (Distributed Component Object Model) provide without the deep complexity. Unlike those and similar technologies, which are essentially add-in toolkits that allow you to distribute objects among systems, Remoting is an integral part of the .NET Framework. Because support for Remoting is built into the Framework, remote objects support full .NET type system fidelity, including complex data types, support for inheritance, and objects passed by reference as well as by value.

The .NET Remoting programming model is much simpler than previous distributed models. Because it's an integral part of the .NET Framework, many parts of Remoting "just work." That is, once you've established the distributed object connection, you create and access distributed objects in exactly the same manner as you would create and access a local object. All of the details—instantiating the server-based object, lifecycle management, serialization, marshaling data, etc. are handled by the Framework without your intervention. Although there are issues that you have to keep in mind when working with distributed objects, the amount of extra work involved in setting up and managing distributed objects is very small.

.NET Remoting is very flexible. You have a wide range of communications options and activation methods, as well as full control over a distributed object's lifecycle. You can choose TCP or HTTP communications protocols on any port, using text or binary formatting. The .NET Remoting infrastructure supports server activated (single call and singleton) and client activated objects. .NET Remoting gives you many opportunities to "plug in" to the system to customize lifecycle management, marshaling, serialization, messaging, and other services.

The Remoting features that ship with the .NET Framework are built to provide distributed object services over the most common communications channels. However, if you have custom communications requirements, the pluggable architecture will allow you to create new protocols and use them with the Remoting system.

Security is of paramount importance to any distributed application. Although the .NET Remoting infrastructure does not define any security features itself, because distributed applications are managed code they have full access to all of the .NET security features. In addition, the HTTP channel, when used with IIS, allows you to take full advantage of the authentication and authorization features that are available to Web based protocols. If you choose to use a protocol other than HTTP with IIS, then you have the opportunity to create your own security infrastructure.

Discussions

Copies of the array?
Posted Dec 23, 2008 03:40 PM by luige21
1 Replies
Hi
Posted Dec 5, 2008 05:10 AM by ajay2000bhushan
2 Replies
You have no clue.
Posted Jun 10, 2008 03:28 PM by theinternetmaster
1 Replies

Make a New Comment

You must log in in order to post a comment.

Related Resources

Jim Mischel"Highly unlikely" does not mean "impossible"
By Jim MischelJuly 18, 2009 No Comments

One of my programs crashed the other day in a very unexpected place.  A call to System.Threading.ConcurrentQueue.TryDequeue (from the Parallel Extensions to .NET) resulted in an OverflowException being thrown.  Investigation revealed a pretty serious bug in the System.Random constructor.

It's Here; Put Away Your Pre-Conceptions on What an OS Must Be: Part II
By John TraenkenschuhMay 24, 2009 No Comments

In the last blog in this series, Traenk relates his first experiences with computers and with coding.  But now, some years have passed. . .

It's Here; Put Away Your Pre-Conceptions on What an OS Must Be: Part I
By John TraenkenschuhMay 24, 2009 No Comments

Traenk relates his past experience with Operating Systems that goes back 25 years, ok, more than that but he ain't tellin'

See More Blogs

Informit Network