ASP.Net是否曾在默认的AppDomain中运行?

时间:2017-02-16 20:56:49

标签: c# asp.net .net appdomain

我有一个有趣的情况,我想确保我没有在ASP.Net Web Api服务上的默认AppDomain中运行(显然,如果在默认情况下运行,RazorEngine会锁定临时文件AppDomain中)。从我所看到的,到Application_Start运行时,它已经不在默认的AppDomain中。

选中使用:AppDomain.CurrentDomain.IsDefaultAppDomain()返回false

ASP.Net是否会在默认的AppDomain中运行?

2 个答案:

答案 0 :(得分:1)

您好用户代码无法访问ASP.NET中的默认CLR AppDomain。但是,ASP.NET运行时使用默认的AppDomain进行某些操作,但它会创建一个特定的AppDomain来运行用户代码。这就是为什么IsDefaultAppDomain返回false并且始终会::)

希望这有帮助!

答案 1 :(得分:1)

不,应用程序不会在默认域中运行。在一个w3wp进程中,可以托管多个Web应用程序,并且每个应用程序都在其自己的应用程序域中运行。 Asp.net在默认域中运行一些代码来管理这些appdomains。例如创建/卸载域,监控进程内存压力等。