New Message on dotNET User Group Hyd

Article : .NET Remoting ( Part - 1 )

Reply
  Reply to Sender   Recommend Message 1 in Discussion
From: Nasha

Hi Frndz,

Today we will be discuss .NET Remoting. Let us start of with its Introduction :-

Introduction :

Remoting is used to access objects in the same and another application domains. When the client accesses an object in another  app domain the client receives a proxy to the real object. Hence when the client calls any method of the remote object it actually calls  a method on the proxy. Proxy is has a similar interface to the real object. The proxy in turn sends a message to the message sink.  The message sink further sends the message to the channel. Channel is responsible for connecting the client and the server. Client  Side sends data to the server side channel. The server side channel in turn talks with the server side message sinks. There can be  one or more message sinks. The last message sink calls method on the remote object. The result is sent using the same approach.

Classes and Remoting:

There are two main types of objects that play a very important role in remoting Marshal by value and Marshal by ref.

Marshal by value:
        Objects of type marhsal by value are not bound to any application domain. They can be serialized and passed across  through channels. To serialize these objects it is necessary that there class implements ISerializable interface or are marked with the  [Serializable] attribute.

Marshal by ref:
        Classes of type marshal by ref are derived from a class known as MarshalByRefObject. Any object of type  MarshalByRefObject is never passed across application domains. Hence one needs a proxy to access these objects from another  application domain. Unlike the classes which are of type Marshal by value which are not bound to there application domain Marshal  by ref classes are bound to there application domain. Objects of these classes are also called ContextBound objects as they are only  valid in the creation context.
       
        Classes that cannot be serialized and not derived from MarshalByRefObject are non-remotable objects
       
Context:

        We all know that a single application process can have multiple application domains. An application can have multiple  contexts. A Context groups object as per there execution  requirement. Hence Marshal by ref objects are context bound in there  application domain coz thereexecution requirement is defined in there application domain. Thus a proxy is used to make a call to  these objects so that call is executed in the same app domain or context.
        Creating an application domain creates a default context for that application domain.An context also defines certain context  properties which is required by objects created in it.

-- Please post your queries and comments for my articles in the user group for the benefit of all. I hope this step from my end is helpful to all of us. You can find all articles written by me at my personal blog http://spaces.msn.com/members/nasha.

Regards,

Namratha (Nasha)


View other groups in this category.

Click here
Also on MSN:
Start Chatting | Listen to Music | House & Home | Try Online Dating | Daily Horoscopes

To stop getting this e-mail, or change how often it arrives, go to your E-mail Settings.

Need help? If you've forgotten your password, please go to Passport Member Services.
For other questions or feedback, go to our Contact Us page.

If you do not want to receive future e-mail from this MSN group, or if you received this message by mistake, please click the "Remove" link below. On the pre-addressed e-mail message that opens, simply click "Send". Your e-mail address will be deleted from this group's mailing list.
Remove my e-mail address from dotNET User Group Hyd.

Reply via email to