Transcript Slide 1

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