2011-08-10 37 views
0

我有一个运行在IIS 7.5上的ASP.NET MVC应用程序。不知何故,在我的机器上,以'.js'结尾的请求在其同事的机器上不会被相应的控制器操作捕获。如何将静态资源请求传递给MVC(IIS 7.5)

该动作有规定的ActionName属性:

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

当我发出了一个请求,“scripts.js中”,我得到一个404而我的同事的机器,他得到了ScriptsJS作用的结果。

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

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

回答

0

原来做这个样子,在安装“IIS推荐配置”使用Web平台安装解决了这个问题。

2

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

对于如何在这个问题 How to add wildcard mapping

+0

谢谢。该技术已经应用于代码,但正如我的答案所示,我没有Microsoft推荐的IIS配置。 +1因为你的答案可能对其他人有用。 –