This topic is specific to a legacy technology that is retained for backward compatibility with existing applications and is not recommended for new development. Distributed applications should now be developed using the Windows Communication Foundation (WCF).
Although using the default architecture and transport channels is straightforward and likely to satisfy most remoting requirements, particular scenarios might call for more complete control over the remoting process. The topics in this section explore more deeply into the remoting process to explain the lower-level processes and how they can be replaced or extended.
Security is an important consideration when building business applications and developers must be able to add security features such as authorization or encryption to remote method calls to meet business requirements. To accommodate this requirement, channels can be customized to provide developers with control over the actual transport mechanism of messages to and from a remote object.
|.NET Framework remoting does not do authentication or encryption by default. Therefore, it is recommended that you take all necessary steps to make certain of the identity of clients or servers before interacting with them remotely. Because .NET Framework remoting applications require FullTrust permissions to execute, if an unauthorized client were granted access on your server, the client could execute code as though it were fully trusted. Always authenticate your endpoints and encrypt the communication streams, either by hosting your remoted types in Internet Information Services (IIS) or by building a custom channel sink pair to do this work.|
In This Section
- Remoting Example: Dynamic Publication
Demonstrates the use of the .NET Framework remoting classes to dynamically publish and cease publishing a particular object.
- Remoting Example: Tracking Service
Demonstrates the use of an ITrackingHandler to register marshaling, unmarshaling, and disconnection events.
- Remoting Example: Hosting in Internet Information Services (IIS)
Demonstrates how to use IIS to host a remotable type and how to modify the client to use a BinaryFormatter object instead of the default SoapFormatter object.
- Remoting Example: Lifetimes
Demonstrates lifetime leases and sponsors.
- Remoting Example: Channel Sink Provider
Demonstrates how to build a channel sink provider that searches through the channel sink chain to set properties specified in the application configuration file.
- Remoting Example: CallContext
Demonstrates how to use a CallContext to pass information across a logical thread.
- Remoting Example: Asynchronous Remoting
Demonstrates the use of asynchronous programming in a .NET Framework remoting scenario.
- .NET Framework Remoting Overview
Provides a high-level description of the entire .NET Framework remoting architecture.
- Configuration of Remote Applications
Describes what the emoting system must have to make remote calls work.
- Advanced Remoting
Provides information on different ways to provide advanced communication.
- Choosing Communication Options in .NET
Describes the options available in the .NET Framework for inter-application domain communication.
- Custom Proxies Technology Sample
Demonstrates how user code gains access to the messages that will be transported to and from any remote object.
- Remoting Generics Technology Sample
Demonstrates the use of generics with remoting.
- Remoting Secure Channels Technology Sample
Demonstrates secure channel capabilities.
- Remoting Cross AppDomains
Shows how to use .NET Remoting to communicate between AppDomains.
- Remoting IpcChannel with Custom ACL Sample
Shows how to set a custom ACL on the IpcChannel in .NET Remoting to limit access to the channel to specific users.
- Using Generics in Remoting Through Configuration
Shows the specific syntax that must be followed in client and server configuration to use generics with .NET Remoting.
- Remoting Through Configuration
Demonstrates how to implement late binding to any managed assembly with public classes and methods.
Build Date: 2011-02-07