AppDomains in .NET

Windows uses processes to manage security and performance isolation between running applications. Process isolation ensures that the application's running code does not interfere with another application. However for applications that share data, making calls between Windows processes can introduce complications and performance issues. AppDomains enable developers to create several applications that run inside a single process but maintain application isolation.

Single Application Domain

When a single application runs inside its own process, the runtime host manages the AppDomain. The application executable and the AppDomain have the same name. The .NET Agent installs itself inside the single AppDomain and creates a node for the application.

AppDomain

Multiple Application Domains

When developers include multiple AppDomains in an application, all the AppDomains run inside a single process. The application executable may have the same name as one AppDomain, but there are other, uniquely-named AppDomains. By default, the agent installs itself inside all the AppDomains and creates nodes for them.

Multiple Application Domains