我有一个有趣的情况,我想确保我没有在ASP.Net Web Api服务上的默认AppDomain中运行(显然,如果在默认情况下运行,RazorEngine会锁定临时文件AppDomain中)。从我所看到的,到Application_Start
运行时,它已经不在默认的AppDomain中。
选中使用:AppDomain.CurrentDomain.IsDefaultAppDomain()
返回false
ASP.Net是否会在默认的AppDomain中运行?
答案 0 :(得分:1)
您好用户代码无法访问ASP.NET中的默认CLR AppDomain。但是,ASP.NET运行时使用默认的AppDomain进行某些操作,但它会创建一个特定的AppDomain来运行用户代码。这就是为什么IsDefaultAppDomain返回false并且始终会::)
希望这有帮助!
答案 1 :(得分:1)
不,应用程序不会在默认域中运行。在一个w3wp进程中,可以托管多个Web应用程序,并且每个应用程序都在其自己的应用程序域中运行。 Asp.net在默认域中运行一些代码来管理这些appdomains。例如创建/卸载域,监控进程内存压力等。