.NET Remoting: Difference between revisions

Content deleted Content added
No edit summary
Line 3:
Like its family members and similar technologies such as [[Common Object Request Broker Architecture]] (CORBA) and [[Java Remote Method Invocation|Java's remote method invocation]] (RMI), .NET Remoting is complex, yet its essence is straightforward. With the assistance of operating system and network agents, a client process sends a message to a server process and receives a reply.<ref>{{cite book | author=Scott McLean, James Naftel and Kim Williams | title=Microsoft .NET Remoting | year = 2002 | publisher=Microsoft Press }}</ref><ref>{{cite book | author=Ingo Rammer and Mario Szpuszta | title=Advanced .NET Remoting | publisher=Apress | year=2005 }}</ref>
 
==Overview==+++++
.NET Remoting allows an application to make an [[Object-oriented programming|object]] (termed ''remotable object'') available across ''remoting boundaries'', which includes different [[appdomain]]s, [[process (computing)|processes]] or even different computers connected by a network.<ref name="overview"/> The .NET Remoting runtime hosts the listener for requests to the object in the [[appdomain]] of the server application. At the client end, any requests to the remotable object are proxied by the .NET Remoting runtime over <code>Channel<code> objects, that encapsulate the actual transport mode, including [[Transmission Control Protocol|TCP]] streams, [[HTTP]] streams and [[named pipe]]s. As a result, by instantiating proper <code>Channel</code> objects, a .NET Remoting application can be made to support different communication protocols without recompiling the application. The runtime itself manages the act of [[serialization]] and [[Marshalling (computer science)|marshalling]] of objects across the client and server appdomains.<ref name="overview">{{cite web | url = http://msdn2.microsoft.com/en-us/library/kwdt6w2k(VS.71).aspx | title = .NET Remoting Overview | accessdate = 2007-10-23}}</ref>