Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

.NET Framework Remoting Overview 

.NET remoting enables you to build widely distributed applications easily, whether the application components are all on one computer or spread out across the entire world. You can build client applications that use objects in other processes on the same computer or on any other computer that is reachable over its network. You can also use .NET remoting to communicate with other application domains in the same process. (For details about programming application domains, see Programming with Application Domains.)

.NET remoting provides an abstract approach to interprocess communication that separates the remotable object from a specific client or server application domain and from a specific mechanism of communication. As a result, it is flexible and easily customizable. You can replace one communication protocol with another, or one serialization format with another without recompiling the client or the server. In addition, the remoting system assumes no particular application model. You can communicate from a Web application, a console application, a Windows Service – from almost anything you want to use. Remoting servers can also be any type of application domain. Any application can host remoting objects and provide its services to any client on its computer or network.

NoteNote

For security reasons, it is strongly recommended to expose Remoting endpoints through secure channels. Never expose insecure Remoting endpoints to the Internet.

To use .NET remoting to build an application in which two components communicate directly across an application domain boundary, you need to build only the following:

  • A remotable object.

  • A host application domain to listen for requests for that object.

  • A client application domain that makes requests for that object.

Even in a complex, multiclient or multiserver application, .NET remoting can be thought of in this way. The host and the client application must also be configured with the remoting infrastructure and you must understand the lifetime and activation issues that the remoting infrastructure introduces.

In This Section

Building a Basic .NET Framework Remoting Application

Demonstrates the basic .NET remoting scenario by building a remotable type, a listener application and a configuration file, and a client application and a configuration file.

.NET Framework Remoting Architecture

Describes the architecture of the .NET remoting system.

Making Objects Remotable

Describes the remoting boundaries and how to implement types that can be activated across those boundaries.

Object Activation and Lifetimes

Describes the different types of remote activation and how to manage remote object lifetimes.

Channels

Describes the system-defined channels and provides the information you need to decide which channel is best for your scenario.

Configuration of Remote Applications

Describes the basic configuration requirements of the .NET remoting infrastructure, the types of configuration that can be used to satisfy these requirements, and the particular needs of various server and client application domains.

Version Information in Remoting

Describes how versioning works in a remote scenario.

Security in Remoting

Describes the security requirements to use remoting and the basic approaches to help build secure remoting applications.

Asynchronous Remoting

Describes how to do asynchronous programming in a remoting scenario.

How to: Call the Methods of a Remote Object Asynchronously

Shows how to make an asynchronous call to a method of a remote object.

Issues with Calling Methods of Remote Objects Asynchronously

Describes issues that may arise when making an asynchronous call to a method of a remote object.

CallContexts and Direct Remoting

Describes how to pass extra data with remote method calls using CallContext and how to dynamically publish objects for remote use.

Reference

Remoting Settings Schema

Provides reference information about the elements that can be used to configure .NET remoting using a configuration file.

System.Runtime.Remoting

Provides reference information about the types that can be used to perform .NET remoting.

System.Runtime.Remoting.Activation

Contains classes and objects that support server and client activation of remote objects.

System.Runtime.Remoting.Channels

Contains classes that support and handle channels and channel sinks, which are used as the transport medium when a client calls a method on a remote object.

System.Runtime.Remoting.Channels.Http

Contains classes for channels that use the HTTP protocol to transport messages and objects to and from remote locations.

System.Runtime.Remoting.Channels.Ipc

Contains classes that define a communication channel for remoting that uses the Interprocess Communication (IPC) system of the Windows operating system.

System.Runtime.Remoting.Channels.Tcp

Contains classes that define channels that use the TCP protocol to transport messages and objects to and from remote locations.

System.Runtime.Remoting.Contexts

Contains objects that define the contexts all remote objects reside within.

System.Runtime.Remoting.Lifetime

Contains classes that manage the lifetime of remote objects.

System.Runtime.Remoting.Messaging

Contains classes used to create and transmit messages.

System.Runtime.Remoting.Metadata

Contains classes and attributes that can be used to customize generation and processing of SOAP for objects and fields.

System.Runtime.Remoting.Metadata.W3cXsd2001

Contains the XML Schema Definition (XSD) defined by the World Wide Web Consortium (W3C) in 2001.

System.Runtime.Remoting.MetadataServices

Contains the classes used by the Soapsuds Tool (Soapsuds.exe) command-line tool and the user code to convert metadata to and from the XML schema for the remoting infrastructure.

System.Runtime.Remoting.Proxies

Contains classes that control and provide functionality for proxies.

System.Runtime.Remoting.Services

Contains service classes that provide functionality to the.NET Framework.

Related Sections

Advanced Remoting

Describes the basic points of interception and extension that you can use to customize the .NET remoting architecture.

Remoting Examples

Provides several complete sample applications that use different elements of the remoting infrastructure.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

Show:
© 2014 Microsoft