默认情况下IIS7和MVC处理所有请求,甚至图像和CSS文件?

时间:2014-02-21 16:14:57

标签: c# asp.net-mvc iis-7

IIS7和MVC默认是否处理所有请求,包括javascript / css / images?

意思是,对图像的任何请求都将通过整个MVC pipleline?

我注意到当用户未在Application_AuthenticateRequest中登录我们的身份验证系统时,会重定向用户。所以发生的事情是他们被重定向到的页面也无法呈现任何图像。

这是一个IIS7设置,可以更新以忽略/资产某种方式或图像类型文件一般。在我们的用例中没有理由通过整个.NET堆栈来获取图像。

我尝试在启用了匿名访问的web.config中添加location =“Assets”,但这不起作用。

2 个答案:

答案 0 :(得分:0)

默认情况下,IIS将直接提供任何具有扩展名(.css,.js等)的内容。值得注意的例外当然是扩展名为.aspx的文件,但这是因为为此分配了特定的处理程序。

答案 1 :(得分:0)

自IIS 7.0以来,所有请求都通过ASP.NET管道: 形成IIS.NET page

  

IIS 7.0及更高版本将ASP.NET运行时与核心Web集成在一起   服务器,提供统一的请求处理管道   暴露给称为模块的本机和托管组件。该   集成的许多好处包括:

     

允许本机和托管模块提供的服务应用   对所有请求,无论处理程序如何。例如,托管表单   身份验证可用于所有内容,包括ASP页面,CGI,   和静态文件。

     

授权ASP.NET组件提供   由于他们以前无法使用的功能   放置在服务器管道中。例如,托管模块   提供请求重写功能可以重写请求   在任何服务器处理之前,包括身份验证。

     

实施,配置,监控和支持服务器功能的单一位置   例如单个模块和处理程序映射配置,单个自定义   错误配置,单个URL授权配置。