What is .net Remoting ( version 1.1. and 2.0)
.NET Remoting is a mechanism for
communicating between objects which are not in the same process. It is a generic
system for different applications to communicate with one another. .NET objects
are exposed to remote processes, thus allowing inter process communication. The
applications can be located on the same computer, different computers on the
same network, or on computers across separate networks.
Microsoft .NET Remoting provides a framework that allows objects
to interact with each other across application domains. Remoting was designed
in such a way that it hides the most difficult aspects like managing
connections, marshaling data, and reading and writing XML and SOAP. The
framework provides a number of services, including object activation and object
lifetime support, as well as communication channels which are responsible for
transporting messages to and from remote applications.
.NET remoting enables you to
build widely distributed applications easily, whether application components
are all on one computer or spread out across the entire world. You can build client
applications that use objects in other processes on the same computer or on any
other computer that is reachable over its network. You can also use .NET
remoting to communicate with other application domains in the same process.
(For details about programming application domains, see Programming with
Application Domains.)
.NET remoting provides an
abstract approach to interprocess communication that separates the remotable
object from a specific client or server application domain and from a specific
mechanism of communication. As a result, it is flexible and easily customizable.
You can replace one communication protocol with another, or one serialization
format with another without recompiling the client or the server. In addition,
the remoting system assumes no particular application model. You can
communicate from a Web application, a console application, a Windows Service –
from almost anything you want to use. Remoting servers can also be any type of
application domain. Any application can host remoting objects and provide its
services to any client on its computer or network.
To use .NET remoting to build an
application in which two components communicate directly across an application
domain boundary, you need to build only the following:
- A remotable object.
- A host application domain to listen for
requests for that object.
- A client application domain that makes
requests for that object.
Even in a complex,
multiclient/multiserver application, .NET remoting can be thought of in this
way. The host and the client application must also be configured with the
remoting infrastructure and you must understand the lifetime and activation
issues that the remoting infrastructure introduces.
No comments:
Post a Comment