代码之家  ›  专栏  ›  技术社区  ›  brady gaster

MVC+IIS7=CSS问题

  •  11
  • brady gaster  · 技术社区  · 17 年前

    http://localhost:88 应呈现默认的/Home/Index视图。

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

    5 回复  |  直到 17 年前
        1
  •  12
  •   Glorfindel Doug L.    7 年前

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

    我已经验证了StaticFileHandler已经包含在web.config中 as suggested in this blog post at apijunkie.com

    这里运气不好 传统的 404错误页。

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

    处理程序映射窗口:

    handler mappings
    windows.net )

    添加新的托管处理程序

    alt text
    windows.net )

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

        2
  •  7
  •   Andrew Barber Eric Lafortune    13 年前

        3
  •  3
  •   brady gaster    17 年前

    问题在于我创建应用程序的方式。根据 forum thread located here ,我需要选择“Classic.NET AppPool”来解决我的问题。必须热爱进步!

        4
  •  0
  •   brady gaster    17 年前

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

    详细问题:

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

        5
  •  -2
  •   Ivan Paniagua    11 年前

    问题不在于授权/身份验证,而在于现在管理IIS的模块。 在system.webServer内部,您应该拥有 运行所有ManagedModulesForallRequests 错误的 因此,您可以显示所有图像/css,而不会出现身份验证问题。

    在ASP.NET网站中 运行所有ManagedModulesForallRequests IIS 7已使用Service Pack更新 ,价值 运行所有ManagedModulesForallRequests 错误的 或在使用ASP.NET路由时忽略。

    http://www.iis.net/configreference/system.webserver/modules

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

    <添加key=“autoFormsAuthentication”value=“false”/>

    <

    推荐文章