ASP.Net 曾经在默认的 AppDomain 中 运行 吗?

Does ASP.Net ever run in the default AppDomain?

我遇到了一个有趣的情况,我想确保我没有 运行 在 ASP.Net Web Api 服务的默认 AppDomain 中(显然 RazorEngine 有如果在默认的 AppDomain 中 运行ning 会出现锁定临时文件的问题)。据我所知,到 Application_Start 运行 秒时,它已经不在默认的 AppDomain 中。

检查使用:AppDomain.CurrentDomain.IsDefaultAppDomain() returns false

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

您好,用户代码无法访问 ASP.NET 中的默认 CLR AppDomain。然而,ASP.NET 运行时确实为某些事情使用默认的 AppDomain,但它为 运行 用户代码创建了一个特定的 AppDomain。这就是为什么 IsDefaultAppDomain returns false 并且总是 :)

希望对您有所帮助!

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