Marshaling:
Marshaling is a process of transforming or serializing data from one application domain and exporting it to another application domain. (or) In the process of marshalling the objects are packed in to message buffer before transmitted as the objects can't be transmitted over communication channel. There are two different ways to Marshal objects. In other words "Marshalling" is used when an object is converted so that it can be sent across the network or across application domains.
Two types of marshalling
Marshal by value: a copy of an object is created by the server and is passed and used by the client.
Marshal by reference: the client creates a proxy to access the object.