|
|
1
24
AppDomain提供的隔离程度与进程不同。事实上,如果您担心第三方组件状态不好,就有可能导致.NET应用程序宕机。 如果卸载时正在执行非托管代码,则无法卸载AppDomain,因此您可能很难控制AppDomain中的第三方代码。看见 http://msdn.microsoft.com/en-us/library/system.appdomain.unload.aspx 即使只针对托管代码,AppDomain也不提供健壮的沙箱解决方案。例如,如果加载的代码产生任何线程,则在出现未处理的异常时,这些线程将中断整个进程。这个问题有更多的信息: .NET - What's the best way to implement a "catch all exceptions handler" .
|
|
|
2
0
一 AppDomain (应用程序域),是应用程序执行的隔离环境。
我不会自称是AppDomain领域的专家,但我相当肯定,卸载AppDomain不会释放泄漏内存(即非托管内存)的COM对象。也许更熟悉这一点的人可以发表评论。 正如Brian指出的,“.NET Framework 2.0版域中的…不保证卸载,因为可能无法终止正在执行的线程。” |
|
|
Rob · 如何将AppDomain序列化到磁盘 13 年前 |
|
|
user2341923 · 进程内存与应用程序域内存分配 13 年前 |
|
|
Scott · 在第二个AppDomain中运行服务 13 年前 |