IIS7和MVC默认是否处理所有请求,包括javascript / css / images?
意思是,对图像的任何请求都将通过整个MVC pipleline?
我注意到当用户未在Application_AuthenticateRequest中登录我们的身份验证系统时,会重定向用户。所以发生的事情是他们被重定向到的页面也无法呈现任何图像。
这是一个IIS7设置,可以更新以忽略/资产某种方式或图像类型文件一般。在我们的用例中没有理由通过整个.NET堆栈来获取图像。
我尝试在启用了匿名访问的web.config中添加location =“Assets”,但这不起作用。
答案 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授权配置。