gpt4 book ai didi

asp.net - BeginRequest 触发 ASP.NET MVC 应用程序中的静态文件

转载 作者:行者123 更新时间:2023-12-04 17:58:18 24 4
gpt4 key购买 nike

我的印象是静态文件(CSS、图像、@font-face 文件等)完全绕过了 ASP.NET,直接由 IIS 提供服务。

但是,每个 HTTP 请求都会调用我的 BeginRequest 事件处理程序,包括静态文件的请求。这让我很担心,因为我正在创建一个 Entity Framework 数据上下文,用于该事件处理程序中每个请求的生命周期。如果它们永远不会被使用,我不想创建这些上下文。

我在 Windows 7 Ultimate 上使用 IIS 7,没有定义特殊的处理程序映射。我有错吗?这些事件应该被触发吗?

最佳答案

我相信默认的 ASP.NET MVC 站点在 web.config 中有这个设置。

<modules runAllManagedModulesForAllRequests="true" />  
这意味着将为每个 IIS 请求加载每个 .NET 模块。这是 ASP.NET MVC 处理无扩展路由所必需的。它本质上是一个通配符映射,您可以在 IIS 中编写它来匹配所有内容并将其路由到位于 web.config 中的 ASP.NET。
阅读更多 here ,包括在您不使用 .NET 4.0 时禁用该行为的方法。这很讨厌,但对于无法处理由 asp.net 提供静态文件的开销的站点来说,它是最干净的解决方案。

关于asp.net - BeginRequest 触发 ASP.NET MVC 应用程序中的静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4054440/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com