如何将静态资源请求传递给MVC (IIS 7.5)



我有一个ASP。. NET MVC应用程序在IIS 7.5上运行。不知何故,在我的机器上,以'.js'结尾的请求不会被相应的控制器动作捕获,而它们在同事的机器上。

动作指定了ActionName属性:

ActionName("Scripts.js")
public ActionResult ScriptsJS()
{
    ...
}

当我向'Scripts.js'发出请求时,我得到404,而对于我同事的机器,他得到ScriptsJS动作的结果。

我认为这是我必须在IIS中配置的东西,因为相同的代码在我同事的机器上运行良好(也运行IIS 7.5)。

那么,我如何配置IIS传递以'.js'结尾的请求到MVC处理程序?

. NET不处理发送给web服务器的每个请求,例如,它不需要处理html, jpg, css文件,因为它们存在于磁盘上,可以直接发送给用户。如果您希望配置IIS将这些文件中的任何一个传递给ASP。. NET,那么你需要为你的站点配置一个处理程序映射。

如何做到这一点,看看这个问题如何添加通配符映射

使用Web平台安装程序安装"IIS推荐配置"解决了此问题。

最新更新