Hi awesome!
We know that MarshalByRef allow us to create an object in a different AppDomain and use a Proxy object to access it. And the behavior of that object is in a different context of the AppDomain where it actually lives in. Well this sounds fairly reseaonable in the regard of isolation and safety.
But why is there still MarshalByValue? MarshalByValue just leads to a newly deserialized object which is an exact copy of the object in a different AppDomain. If we need that object, why not just create it in the current AppDomain? Why bother to first create it in a different AppDomain and then get it back by MarshaoByValue?
Many thanks.