Presentation on theme: ".Net Remoting by James Stone. What is.Net Remoting? RemotingRemoting is a technology that allows.NET applications to communicate. Remoting Same machine,"— Presentation transcript:
.Net Remoting by James Stone
What is.Net Remoting? RemotingRemoting is a technology that allows.NET applications to communicate. Remoting 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 MarshallingMarshalling – the communication between a host and a client. Marshalling SinkSink - an object that allows custom processing of messages during remote invocation. Sink ChannelChannel – an object that transports messages across remoting boundaries boundaries Channelboundaries
Remoting Terminology Remotable objectRemotable object – the object that can be marshaled across application domains. Remotable object FormatterFormatter – an object that is responsible for encoding/decoding and serializing data into messages. Formatter AppDomainAppDomain – an Application Domain, a.NET concept for a unit of isolation for an application. Application Domain AppDomainApplication Domain
System.Runtime.Remoting RemotingConfigurationRemotingConfiguration class: configures the remoting infrastructure. RemotingConfiguration RemotingServicesRemotingServices class: provides methods for using and publishing remotable objects. RemotingServices ObjRefObjRef class: generates a proxy, activates, and communicates with a remote object. ObjRef
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 Javas 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? 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...
.Net Remoting Resources IIS remoting server and ASP.NET client IIS remoting server and ASP.NET client An Introduction to the Microsoft.NET Remoting Framework An Introduction to the Microsoft.NET Remoting Framework Sample Chapter from Microsoft®.NET Remoting by Scott McLean, James Naftel and Kim Williams Sample Chapter from Microsoft®.NET Remoting by Scott McLean, James 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 ReflectorLutz Roeder's.NET Reflector - a must have for.NET development. Lutz Roeder's.NET Reflector.NET Exception Information.NET Exception Information - error codes and their meaning..NET Exception Information