我在Vista上有一个通过IIS7运行的网站.该站点在端口88上运行,因此http:// localhost:88应呈现默认/ Home/Index视图.
这与其他所有视图一样正常.
然而,一个问题是居民.我的脚本路径指向/ Scripts/[FILE],我的CSS路径指向/ Content/[FILE].我的假设是/ Content或/ Scripts文件夹始终位于站点的根目录,因为我无意在虚拟目录设置中运行此站点.每当页面呈现时,它们都没有CSS或脚本!所以一切看起来都很糟糕,脚本显然不起作用,因此许多观点也不起作用.
这是一个非常奇怪的问题,我确信这是因为我缺乏在IIS7下托管内容的知识.我很感激任何人都可以提供帮助.非常感谢!
我希望这个帖子的延续表达了一种意愿,即确保这个问题不会让任何人离开悬崖.在各种论坛上有很多关于在Vista上解决这个问题的文档,但我找不到同样的文章2K8.正如本论坛帖子所示,我能够在Vista机器上解决问题.唉,类似的执行未能解决2K8上的问题.
我已经验证了staticFileHandler已经包含在web.config中,如apijunkie.com上的博客文章中所建议的那样.不过,没有运气.
澄清没有运气,这里 - 我的服务器端功能非常完美.所有MVC路线都像冠军一样工作.只是所有的CSS和JS渲染都失败了.当浏览器直接指向CSS或JS文件时,结果页面是ASP.NET 404而不是传统的 404错误页面.
所以我进入IIS7管理器并进入Handler Mappings对话框.我添加了一个新的处理程序,它指定了System.Web.StaticFileHandler类型,并为其提供了*.CSS的扩展名.然后我重复了*.SS,*.PNG和*.GIF文件.当我在浏览器中刷新网站时,所有内容都会正常呈现.下面的屏幕截图演示了这个过程.
处理程序映射窗口:
(来源:windows.net)
添加新的托管处理程序
(来源:windows.net)
这解决了这个问题,现在我在W2K上有一个功能完善的MVC应用程序.吉尼斯的时间.
从"控制面板"中,转到"打开或关闭Windows功能",然后选中"IIS"子子节点中的"静态内容".