AppDomian
在几个项目中都有看到这个东西,也零零碎碎读过各种介绍,其实都没有一个很好的概念。StackOverflow 上面有一个解释挺好。记录一下。
Q:What is the most important use of AppDomains in C#?
A:The single most important use is that your code has to have one - i.e. everything you write in C# executes in an AppDomain
. That is quite important ;-p
If you mean additional app-domains:
When using plugins and other untrusted code, it allows you both isolation, and the ability to unload them (you can't unload assemblies - only entire app-domains).
I'm using it currently to load dynamically generated dlls, so that I can unload them.
They also allow you to set different configuration files, trust levels, etc - but have associated costs of complexity and remoting.
MSDN has a section on app-domains, here.
The following sentense is a good metaphor:
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.