This is preliminary documentation and subject to change.
To comment on this topic, please send us email at ngwssdk@microsoft.com. Thanks!
Cross Domain References
As described above, isolation requires that code running in one application cannot directly access code or resources from another application. One way the NGWS runtime enforces this is to not allow direct calls between objects in different Application Domains.
Objects that pass between domains are either copied or accessed via proxy. The mechanism for determining how objects are access across domains is determined by the agility of the object. There are three cases:
- Unbound objects are marshaled by value across domains. That is, a copy is made and the receiver manipulates the copy, not the original object.
- AppDomain bound objects are marshaled by reference across domains. As such, cross domain access is always through proxies.
- Context-bound objects are also marshaled by reference across domains. In fact, they are marshaled by reference between contexts in the same domain as well.