#706 – An Application Domain Enables Application Isolation

An application domain is an environment in which an application executes and which provides for isolation between applications.  Code running in an application domain is isolated from other application domains in that it contains its own data and cannot affect code running in other application domains.

You most often run every managed (CLR) application in its own Windows process, with the process containing a single application domain.  But it’s also possible for a process to host multiple application domains.  In this case, the applications are still isolated.  If the code within one of the application domains crashes, it does not impact code in the other application domain(s).

You can think of an app domain as the Common Language Runtime’s application isolation mechanism, whereas the process is the application isolation mechanism for Windows itself.

Advertisements

About Sean
Software developer in the Twin Cities area, passionate about .NET technologies. Equally passionate about my own personal projects related to family history and preservation of family stories and photos.

One Response to #706 – An Application Domain Enables Application Isolation

  1. dieta says:

    I’ve got an ASP.NET application running on IIS 7 with multiple application domains, and I can’t fathom why there are multiple app domains in a single process. I’ve grepped my code base, and I’m not explicitly creating a second application domain. Is it possible that a recycle has failed to time out?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: