【发布时间】:2014-08-31 10:01:55
【问题描述】:
如果我启动控制台、wpf 或 asp.net 应用程序,.Net 会创建任何 AppDomain 吗?我可以假设总是有一个 AppDomain 吗?
【问题讨论】:
-
AppDomains如何统计:stackoverflow.com/a/388582/600559
如果我启动控制台、wpf 或 asp.net 应用程序,.Net 会创建任何 AppDomain 吗?我可以假设总是有一个 AppDomain 吗?
【问题讨论】:
是的,适用于控制台模式应用和 WPF 应用。对于 ASP.NET 应用程序来说,它更加模糊,它使用 appdomains 来隔离网站。当一个网站对程序集进行影子复制时,它可以从一个站点迁移到另一个站点。
【讨论】:
是的,总会有一个,除非您或您使用的任何第三方库创建新的AppDomains。
根据MSDN 一个AppDomain 是一个
应用程序执行的隔离环境
例如,当您的软件将一些不受信任的程序集作为加载项加载时,这可能很有用。您可以创建一个辅助AppDomain,在其中加载不受信任的程序集,然后执行它们的方法,而不会冒着影响原始AppDomain 的风险。
【讨论】: