Before you enable .NET remoting for your deployable component, be aware that you cannot enable both .NET remoting and Windows® Communication Foundation.
There are many reasons to create remotable components:
Cost savings — Changes to business logic do not require you to roll out new software to every client. Instead, you can confine new updates to a small set of business servers.
Increased security for web applications — .NET Remoting allows your database, for example, to reside behind one or more firewalls.
Software Compatibility — Remotable components employ standard formatting protocols like SOAP (Simple Object Access Protocol), which can significantly enhance the compatibility of the component with libraries and applications.
Ability to run applications as Windows services — To run as a Windows service, you must have access to a remotable component hosted by the service. Applications implemented as a Windows service provide many benefits to application developers who require an automated server running as a background process independent of a particular user account.
Flexibility to isolate native code binaries that were previously incompatible — Mix native and managed code without restrictions.
Windows Communication Foundation (WCF) is an application programming interface in the .NET Framework for building service-oriented applications. Servers implement multiple services that can be consumed by multiple clients. Services are loosely coupled to each other.
Services typically have a WSDL interface (Web Services Description Language), which any WCF client can use to consume the service. A WCF client connects to a service via an endpoint. Each service exposes itself via one or more endpoints. An endpoint has an address, which is a URL specifying where the endpoint can be accessed, and binding properties that specify how the data will be transferred.
For up-to-date information regarding WCF, see What Is Windows Communication Foundation in the Microsoft® documentation.
WCF is an end-to-end web service. Many of the advantages afforded by .NET Remoting—a wide selection of protocol interoperability, for instance—can be achieved with a WCF interface, in addition to having access to a richer, more flexible set of native data types. .NET Remoting can only support native objects.
WCF offers more robust choices in most every aspect of web-based development, even implementation of a Java® client, for example.