I have heard this concept used frequently, but I don't have a really good grasp of what it is.
To prepare data for processing or for transport over a network. Data marshalling may collect data from a single source or from multiple sources, but then performs the necessary conversion to a common format for processing or for transmission.
Marshalling is the process of transforming types when they need to cross between managed and native code. Marshalling is needed because the types in the managed and unmanaged code are different.
Marshalling is a "medium" for want of a better word or a gateway, to communicate with the unmanaged world's data types and vice versa, by using the pinvoke, and ensures the data is returned back in a safe manner.
Usually the word "marshalling" is used when you're crossing some sort of boundary. Three obvious use cases: Remoting: the RPC data is marshalled to a separate machine (usually) AppDomains: an object crossing an AppDomain boundary needs to be marshalled (or it may be marshalled by reference)
Converting an object in memory into a format that can be written to disk, or sent over the wire, etc.
Wikipedia's description.
I beg to differ, Wikipedia is pretty clear on this.
In computer science, marshalling (similar to serialization) is the process of transforming the memory representation of an object to a data format suitable for storage or transmission. It is typically used when data must be moved between different parts of a computer program or from one program to another.
http://en.wikipedia.org/wiki/Marshalling_(computer_science)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With