C# 默认情况下,IIS7和MVC是否处理所有请求,甚至图像和css文件?

C# 默认情况下,IIS7和MVC是否处理所有请求,甚至图像和css文件?,c#,asp.net-mvc,iis-7,C#,Asp.net Mvc,Iis 7,IIS7和MVC是否默认处理所有请求,包括javascript/css/图像 也就是说,对图像的任何请求都会经过整个MVC管道 我注意到,当用户没有登录到应用程序中的身份验证系统时,AuthenticateRequest会重定向用户。因此,他们重定向到的页面也无法呈现任何图像 这是一个IIS7设置,可以更新为忽略/assets或图像类型文件。在我们的用例中,没有理由对一个映像遍历整个.NET堆栈 我尝试在启用匿名访问的web.config中添加location=“Assets”,但没有成功。默认

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

也就是说,对图像的任何请求都会经过整个MVC管道

我注意到,当用户没有登录到应用程序中的身份验证系统时,AuthenticateRequest会重定向用户。因此,他们重定向到的页面也无法呈现任何图像

这是一个IIS7设置,可以更新为忽略/assets或图像类型文件。在我们的用例中,没有理由对一个映像遍历整个.NET堆栈


我尝试在启用匿名访问的web.config中添加location=“Assets”,但没有成功。

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

由于IIS 7.0,所有请求都通过ASP.NET管道: 形成

IIS 7.0及以上版本将ASP.NET运行时与核心web集成 服务器,提供统一的请求处理管道 暴露于称为模块的本机和托管组件。这个 集成的许多好处包括:

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

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

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


是的,IIS将为该文件提供服务,但它会使用asp.net mvc dll为其提供服务吗?对我来说似乎是这样。不,我说它将直接服务,就像不使用ASP.NET一样。如果ASP.NET正在处理该请求,则可能是为该类型添加了处理程序(除了默认的静态处理程序之外),也可能是IIS根本不知道的类型(有时与JSON一起发生)。在这种情况下,您只需要为它添加一个mime类型映射到IIS。不,它不是json,它甚至是任何.css或图像文件。我得问问管理员,Thank.JSON只是一个常见的文件类型示例。