2. What is .Net Remoting?What is .Net Remoting?
RemotingRemoting is a technology that allows .NETis a technology that allows .NET
applications to communicate.applications to communicate.
Same machine, across a network, or theSame machine, across a network, or the
Internet.Internet.
Similar technologies: COM+, Direct TCP/IPSimilar technologies: COM+, Direct TCP/IP
socket connections, UDP diagrams, MSMQsocket connections, UDP diagrams, MSMQ
messages, Web Services via http, SOAPmessages, Web Services via http, SOAP
3. Remoting TerminologyRemoting Terminology
MarshallingMarshalling – the communication– the communication
between a host and a client.between a host and a client.
SinkSink - an object that allows custom- an object that allows custom
processing of messages during remoteprocessing of messages during remote
invocation.invocation.
ChannelChannel – an object that transports– an object that transports
messages across remotingmessages across remoting boundariesboundaries
4. Remoting TerminologyRemoting Terminology
Remotable objectRemotable object – the object that can be– the object that can be
marshaled across application domains.marshaled across application domains.
FormatterFormatter – an object that is responsible for– an object that is responsible for
encoding/decoding and serializing data intoencoding/decoding and serializing data into
messages.messages.
AppDomainAppDomain – an– an Application DomainApplication Domain, a .NET, a .NET
concept for a unit of isolation for anconcept for a unit of isolation for an
application.application.
5. System.Runtime.RemotingSystem.Runtime.Remoting
RemotingConfigurationRemotingConfiguration class: configures theclass: configures the
remoting infrastructure.remoting infrastructure.
RemotingServices class: provides methods forRemotingServices class: provides methods for
using and publishing remotable objects.using and publishing remotable objects.
ObjRef class: generates a proxy, activates, andObjRef class: generates a proxy, activates, and
communicates with a remote object.communicates with a remote object.
6. Distributed ApplicationDistributed Application
Development TechnologyDevelopment Technology
In .NET, Enterprise Services are services in unmanagedIn .NET, Enterprise Services are services in unmanaged
code known as COM+ services.code known as COM+ services.
UDP (User Datagram Protocol): less reliability (UDP (User Datagram Protocol): less reliability (i.e.i.e.,,
picture quality) in return for performance (picture quality) in return for performance (i.e.i.e., higher, higher
frame rates).frame rates).
Designers of distributed systems often need toDesigners of distributed systems often need to
communicate between two systems that are not runningcommunicate between two systems that are not running
simultaneously.simultaneously.
.NET Remoting is meant to replace DCOM..NET Remoting is meant to replace DCOM.
7. .NET Remoting and Web.NET Remoting and Web
ServicesServices
.NET Remote objects can access remote resources without the.NET Remote objects can access remote resources without the
overhead of SOAP based Web Services.overhead of SOAP based Web Services.
.NET Remoting is easier to use than Java’s RMI (Remote Method.NET Remoting is easier to use than Java’s RMI (Remote Method
Invocation), but more difficult than creating a Web Service.Invocation), but more difficult than creating a Web Service.
The remoting system is flexible and easily customizable.The remoting system is flexible and easily customizable.
Remoting system assumes no particular application model.Remoting system assumes no particular application model.
Web services provide a standards-based, open communicationWeb services provide a standards-based, open communication
medium.medium.
8. .NET Remoting Tips.NET Remoting Tips
Binary serialization over TcpChannel isBinary serialization over TcpChannel is
most efficient.most efficient.
XML and SOAP serialization overXML and SOAP serialization over
HttpChannel is most interoperable.HttpChannel is most interoperable.
Use HttpChannel with BinaryFormatterUse HttpChannel with BinaryFormatter
for applications spanning multiple hosts.for applications spanning multiple hosts.
9. .Net Remoting Resources.Net Remoting Resources
What is .NET Remoting?What is .NET Remoting?
.NET Remoting questions and answers.NET Remoting questions and answers
.NET Remoting Use-Cases and Best Practices.NET Remoting Use-Cases and Best Practices
.NET Remoting versus Web Services.NET Remoting versus Web Services
.NET Remoting - Part I....NET Remoting - Part I...
.NET Remoting - Part II....NET Remoting - Part II...
.NET Remoting - Part III/IV....NET Remoting - Part III/IV...
10. .Net Remoting Resources.Net Remoting Resources
IIS remoting server and ASP.NET clientIIS remoting server and ASP.NET client
An Introduction to the Microsoft .NET Remoting FrameworkAn Introduction to the Microsoft .NET Remoting Framework
Sample Chapter from Microsoft® .NET Remoting by Scott McLean,Sample Chapter from Microsoft® .NET Remoting by Scott McLean,
James Naftel and Kim WilliamsJames Naftel and Kim Williams
On the road to Indigo - Is .NET Remoting Dead? [Updated]On the road to Indigo - Is .NET Remoting Dead? [Updated]
Lutz Roeder's .NET Reflector - a must have for .NET development.Lutz Roeder's .NET Reflector - a must have for .NET development.
.NET Exception Information - error codes and their meaning..NET Exception Information - error codes and their meaning.