Asp.net MVC+IIS7=CSS问题

Asp.net MVC+IIS7=CSS问题,asp.net,asp.net-mvc,iis-7,Asp.net,Asp.net Mvc,Iis 7,我在Vista上有一个通过IIS7运行的网站。站点正在端口88上运行,因此应该呈现默认的/Home/Index视图 与所有其他视图一样,这也可以正常工作 然而,一个问题是居民。我的脚本路径指向/Scripts/[FILE],我的CSS路径指向/Content/[FILE]。我的假设是/Content或/Scripts文件夹将始终位于站点的根目录下,因为我无意在虚拟目录设置中运行此站点。无论何时呈现页面,它们都没有CSS或脚本!所以一切看起来都不稳定,脚本显然不起作用,所以很多视图也不起作用 这是

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

与所有其他视图一样,这也可以正常工作

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


这是一个非常奇怪的问题,我确信这是由于我缺乏IIS7下托管内容的知识造成的。我很感激任何人能提供的帮助。非常感谢

问题出在我创建应用程序的方式上。根据,我需要选择经典的.NET应用程序池来解决我的问题。必须热爱进步

这不是Windows 2008上的修复程序。如果有人对如何解决这件事有任何想法,我们将不胜感激

详细问题:

Windows2K8服务器,IIS7。打开管道并安装静态文件支持。MVC可以工作,但CSS不能呈现


见鬼了?

我希望这条线索的延续传达出一种意愿,即确保这个问题不会让任何人掉下悬崖。在各种论坛上有很多关于在Vista上解决这个问题的文档,但我找不到任何关于2K8的类似文章。正如本文所指出的,我能够在Vista机器上解决这个问题。唉,类似的执行在2K8上未能解决问题

我已经验证了StaticFileHandler已经包含在web.config中。不过,运气不好

在这里,我的服务器端功能非常完美。所有MVC路线都像冠军一样工作。只是所有CSS和JS呈现都失败了。当浏览器直接指向CSS或JS文件时,生成的页面是ASP.NET 404,而不是传统的404错误页面

所以我进入了IIS7管理器和处理程序映射对话框。我添加了一个新的处理程序,该处理程序指定System.Web.StaticFileHandler类型,并将其扩展为*.CSS。然后我对*.JS、*.PNG和*.GIF文件重复了这一点。当我在浏览器中刷新站点时,所有内容都正确呈现。下面的屏幕截图演示了此过程

处理程序映射窗口:

资料来源:

添加新的托管处理程序

资料来源:


这解决了问题,现在我有一个功能完善的MVC应用程序托管在W2K中。该喝吉尼斯了

从“控制面板”转到打开或关闭Windows功能,然后检查IIS子节点中的静态内容。

问题不在于授权/身份验证,而在于现在管理IIS的模块。 在system.webServer内部,您应该将runAllManagedModulesForAllRequests设置为false,这样您就可以显示所有图像/css,而不会出现身份验证问题

在ASP.NET网站中,runAllManagedModulesForAllRequests的值以前必须设置为true以支持路由。但是,使用Service Pack更新IIS 7后,在使用ASP.NET路由时,runAllManagedModulesForAllRequests的值可以设置为false或忽略

参考文献

注意:不要忘记将以下行添加到我的web.config文件的AppSettings部分:


您能发布呈现的HTML以便我们可以帮助您吗?当我尝试浏览到时,我收到一条ASPX404错误消息。看起来CSS扩展正在被ASPNET isapi过滤器处理,这很奇怪,因为所有的东西都出来了!。谢谢你。当我遇到这个问题时,他也为我工作。请有人写下步骤。图像已关闭。虽然他的CSS文件返回了404s,但他的图像在这里也返回了404s总是喜欢断开的图像链接。@bradygaster:你能将你的图像重新上传到imgurl并将你的答案重定向到那些图像吗?因为从内容来看,我想它们很重要。向下投票,请按照Robert Koritnik说的做,我会向上投票当我创建应用程序池时,我离开了默认模式:集成。。。我刚换成了经典,似乎很管用。谢谢这是我的问题。我建议你先检查一下。请不要再发布同样答案的副本了。它不适用于您发布的问题。