Asp.net 如何检查是否为静态资源(如真实IIS Web服务器上的图像)调用应用程序_BeginRequest?

Asp.net 如何检查是否为静态资源(如真实IIS Web服务器上的图像)调用应用程序_BeginRequest?,asp.net,iis-7,httprequest,global-asax,asp.net-development-serv,Asp.net,Iis 7,Httprequest,Global Asax,Asp.net Development Serv,我们有一个ASP.NET 4.0网站,我们使用Global.asax中的应用程序_BeginRequest事件来执行一些智能重定向。在Visual Studio(无IIS)提供的本地ASP.NET开发服务器下调试解决方案时,将为apsx页面和静态资源(如css文件、jpg/gif图像等)调用应用程序_BeginRequest 这是一个已知的问题,但是我们的托管提供商(Windows 2008/IIS 7.0)的真实IIS托管又如何呢?如何检查静态资源是否发生这种情况?如何禁止这种行为?你可以试试

我们有一个ASP.NET 4.0网站,我们使用Global.asax中的应用程序_BeginRequest事件来执行一些智能重定向。在Visual Studio(无IIS)提供的本地ASP.NET开发服务器下调试解决方案时,将为apsx页面和静态资源(如css文件、jpg/gif图像等)调用应用程序_BeginRequest

这是一个已知的问题,但是我们的托管提供商(Windows 2008/IIS 7.0)的真实IIS托管又如何呢?如何检查静态资源是否发生这种情况?如何禁止这种行为?

你可以试试

if (Request.Path.ToLowerInvariant().IndexOf(".aspx") > -1)
{
    // static files
}

不,不是这个。我明白我需要澄清这一点。我们需要避免平台本身调用应用程序_BeginRequest获取静态资源以获得最大性能。这是错误的(而且代码速度慢)-还有更多扩展不是静态文件,而是从开始传递请求。这是错误的,因为在搜索时,
.aspx
可能存在并且在非aspx文件中!您也可以从一开始就搜索它,但它位于文件的末尾(慢代码)。而不是OP所要求的。