繁体   English   中英

如何防止ASP.NET MVC在Windows Azure上处理静态文件(js和图像)?

[英]How to prevent ASP.NET MVC from handling Static files (js and images) on Windows Azure?

我有一个托管在Windows Azure上的ASP.NET MVC应用程序,并且ASP.NET正在处理从网站提供的所有静态文件。 有没有办法让IIS直接提供静态文件而不是通过ASP.NET路由这些请求? 我希望帮助提高从服务器返回这些静态文件的性能。

我不确定这是否是ASP.NET MVC本身所做的事情,或者是因为我是在Azure上托管它。

更新:我希望这样做的主要原因是因为静态文件由应用程序中注册的所有HttpModule处理,从而降低了性能。

我删除了web.config中的“ runAllManagedModulesForAllRequests ='true' ”定义,并将“ preCondition ='managedHandler ”添加到我不想为静态内容执行的HttpModule注册中。

我还实施了达林的答案。

不完全是我想要的,但似乎符合要求。

更新:如果从web.config中删除“runAllManagedModulesForAllRequests = true”,请确保您的IIS是最新的,否则无扩展的URI将不再起作用。 关于它的KB: http//support.microsoft.com/kb/980368/en-us

(当然,即使你保留了这个选项,你也应该担心你的服务器是最新的。)

在IIS 7集成模式下使用时,所有请求都通过托管管道。 它已经充分优化,而不是您应该担心的事情。 另一方面,如果您注意到应用程序的ASP.NET路由引擎拦截了这些静态文件,您可以尝试将它们添加为Global.asax IgnoreRoute定义

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM