我有一个刚刚部署到 IIS7 的 ASP.NET MVC 2 应用程序。除了所有静态内容(js、css、图像)都返回空白外,该应用程序运行良好。
我在 MVC 处理程序上方配置了静态内容处理程序。
我查看了 IIS 日志,对于静态内容,返回了 HTTP 302 状态,但我仍然无法在我的页面上看到它们。
有什么想法吗?我还可以检查或尝试其他什么吗?
答案1
根据您的评论,您在 MVC 处理程序上方有静态文件处理程序,听起来您已正确设置它。
作为额外的双重检查,请转到服务器管理器、角色和 IIS,确保您已将必要的功能添加到 IIS。这实际上只是将其添加到 applicationHost.config,但它起到双重检查的作用。这将确保模块、处理程序和全局模块已安装并启用。
答案2
我发现了这个问题 - 当我遇到这个问题时我应该按照我的第一个想法去做 - 我运行了 ProcMon 并发现它在我的静态内容目录上被拒绝访问。
但是尝试访问它的用户是 IUSR,而不是 NetworkService(因为应用程序池设置为在其下运行)。这一定是 IIS7 的问题吗?