Application domains provide isolation between different applications running on the same system.
A context provides a runtime environment for compatible objects to live in. It contains one or more context properties and context sinks. Context properties provide passive services. Context sinks provide active interception-based services.
When an object is activated, the runtime houses the object in the caller's context if the context attributes on the object are compatible with the caller's context. If not, the runtime creates a compatible context and houses the object in the new context.
An application domain holds one or more contexts. When an application domain is created, the runtime creates a default context within the AppDomain. Subsequently, ...