MVC + IIS7 = CSS 问题

2024-03-03

我有一个在 Vista 上通过 IIS7 运行的网站。该站点在端口 88 上运行,因此http://本地主机:88 http://localhost:88应该呈现默认的 /Home/Index 视图。

与所有其他视图一样,此操作正确。

然而,有一个问题是常驻的。我的脚本路径指向 /Scripts/[FILE],我的 CSS 路径指向 /Content/[FILE]。我的假设是 /Content 或 /Scripts 文件夹始终位于网站的根目录,因为我无意在虚拟目录设置中运行该网站。每当页面呈现时,它们都没有 CSS 或脚本!所以一切看起来都很奇怪,脚本显然不起作用,因此很多视图也不起作用。

这是一个非常奇怪的问题,我确信这是由于我缺乏在 IIS7 下托管内容的知识而导致的。我将不胜感激任何人可以提供的帮助。多谢!


我希望这个帖子的继续传达出一种意愿,以确保这个问题不会让任何人陷入悬崖。各个论坛上有很多关于在 Vista 上解决此问题的文档,但我找不到任何适用于 2K8 的类似文章。如本中所示论坛帖子 http://forums.iis.net/p/1143592/1849083.aspx#1849083我能够在 Vista 计算机上解决该问题。唉,2K8 上的类似执行未能解决问题。

我已经验证 StaticFileHandler 已包含在 web.config 中正如 apijunkie.com 上这篇博文中所建议的 http://www.apijunkie.com/APIJunkie/blog/post/2007/11/Breaking-changes-in-ASPNet-20-HTTP-Handlers-when-moving-from-IIS5-on-Windows-2000-to-IIS6-on-Windows-2003.aspx。尽管如此,还是没有运气。

澄清不走运,在这里- 我的服务器端功能非常完美。所有 MVC 路线都表现出色。只是所有 CSS 和 JS 渲染都失败了。当浏览器直接指向 CSS 或 JS 文件时,结果页面是 ASP.NET 404,而不是传统的404错误页面。

因此,我进入 IIS7 管理器并进入“处理程序映射”对话框。我添加了一个新的处理程序,指定 System.Web.StaticFileHandler 类型并为其指定 *.CSS 扩展名。然后我对 *.JS、*.PNG 和 *.GIF 文件重复执行此操作。当我在浏览器中刷新网站时,一切都完美呈现。下面的屏幕截图演示了这个过程。

处理程序映射窗口:

handler mappings
(source: windows.net https://bradygstorage.blob.core.windows.net/images/managed-handler.png)

添加新的托管处理程序

alt text
(source: windows.net https://bradygstorage.blob.core.windows.net/images/add-managed-handler.png)

这解决了问题,现在我在 W2K 中托管了一个功能完美的 MVC 应用程序。是时候来个吉尼斯了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MVC + IIS7 = CSS 问题 的相关文章

随机推荐