c# - 多个 httpmodule 实例

标签 c# asp.net httpmodule

我有一个使用 Web 应用程序的 asp.net 网站,它们都在同一个应用程序池中(有 1 个工作进程)。该网站在其 web.config 文件中加载了一个 httpmodule,奇怪的是,主要网站和应用程序都将由 httpmodule 的单独实例提供服务。为什么是这样?因为他们在同一个进程中,所以他们似乎应该使用一个实例。

此外,如果我尝试在应用程序中使用静态变量,它们将指向与在 asp.net 网站中不同的对象。和以前一样的问题,因为它们在同一个进程中,它们不应该是同一个对象,或者 .net 是否在进程内部强加了某种边界?

最佳答案

IIS 为每个应用程序创建一个单独的 AppDomain。这些 AppDomains 位于同一个操作系统进程中,但从托管代码的角度来看,可以将它们视为独立的进程。 IE。它们不共享加载的程序集、内存等。

http://www.odetocode.com/articles/305.aspx http://weblogs.asp.net/owscott/archive/2007/09/02/application-vs-appdomain.aspx http://msdn.microsoft.com/en-us/library/system.appdomain(VS.85).aspx

关于c# - 多个 httpmodule 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/607641/

相关文章:

c# - 我应该为动态报告生成器使用哪种设计模式?

c# - "Security"和 ASP.NET 路由引擎的问题

c# - ASP.NET - 何时使用自定义异常?

asp.net - 从 SharePoint URL 中获取/页面?

c# - 使用 taglib# 提取 mp3 标签

c# - FakeItEasy - 是否可以拦截一个方法并将其替换为我自己的实现?

c# - 使用 asp.net core 3.0 时传递有效 token 时,Postman 返回 401 unothorized

javascript - Firefox 中的 HTML 位置问题(适用于 IE 和 Chrome)

c# - 当 HttpModule Init 方法在 ASP.NET 集成模式下运行时?

asp.net - JS、图像和CSS被HTTPModule拦截