【问题标题】:StaticFileHandler not working at all with IIS 7.5, Windows 7, ASP.NET MVC4, VS2012StaticFileHandler 根本无法与 IIS 7.5、Windows 7、ASP.NET MVC4、VS2012 一起使用
【发布时间】:2014-04-17 12:41:30
【问题描述】:

所以我有一个在 IIS 中工作的 ASP.NET MVC4 页面:

唯一的问题是不提供静态内容...(css、js、...文件)

这是我已经完成的清单:

  1. 在 IIS 树节点下方的控制面板内的“启用/禁用 Windows 功能”对话框中启用“静态”组件。
  2. 在我的 web.config 的 标记内有一个
  3. 中有一个 我的 web.config 的标签(foo 是“integratedMode”或“ManagedHandler”)。
  4. 向我的用户 (http://support.microsoft.com/kb/821546) 添加“身份验证后模拟客户端”权限。
  5. 还尝试在“模块映射”对话框中直接在 IIS 中添加条目。事实上@lex-li 告诉我,只要我看到“*”映射,这就是不需要的,就是这个:

它仍然不提供 f**g 文件 (404)。我还缺少什么?

在日志文件中(C:\inetpub\logs\LogFiles\W3SVC2\u_ex140313.log)我可以看到:

2014-03-13 18:21:09 192.168.0.161 GET /Content/Site.css - 80 - 192.168.0.150 Mozilla/5.0+(X11;+Ubuntu;+Linux+x86_64;+rv:26.0)+Gecko/20100101+Firefox/26.0 404 0 0 15

【问题讨论】:

  • 在 IIS 的任何级别(服务器、站点、应用程序),您应该能够看到作为 Handler Mappings 的最后一项列出的 IIS 静态文件模块,它监视 * 的 Path 和 Handler是StatusFileModule,DefaultDocumentModule,DirectoryListingModule。在这种情况下,我认为您不需要另一个处理程序。同时,当“仍然不服务”时,IIS日志文件中记录的状态码是什么?
  • 当我尝试使用浏览器访问文件时,它会给出 404。 IIS 日志文件在哪里?
  • 404是个大家族,应该从support.microsoft.com/kb/943891开始
  • 有趣!如何找出它返回的是哪个 404 错误?
  • @LexLi:我已经添加了日志行,这是否意味着 404.15 错误?

标签: asp.net-mvc-4 iis iis-7.5 static-content


【解决方案1】:

好吧,是权限问题!

首先,为了让我的 ASP.NET 站点正常工作,我必须在几天前在 IIS 管理应用程序中执行此操作:

  • 点击您的网站节点。
  • 在右侧面板中,单击“基本配置...”链接。
  • 单击“连接为...”按钮。
  • 选择“特定用户”,然后选择具有管理权限的用户。

(我提到这一点,以防上面对我下面要做的事情产生一些影响。)

现在,为了解决我的问题,我必须更改文件夹的权限(我的网站在磁盘中写入:C:\Users\knocte\Documents\Visual Studio 2012\Projects\SolutionFoo\ProjectFoo)。

  • 转到C:\Users\knocte\Documents\Visual Studio 2012\Projects\SolutionFoo
  • 右键单击“ProjectFoo”文件夹 -> 属性 -> 安全性。
  • 点击“编辑...”按钮。
  • 点击“添加...”按钮。
  • 写“IIS_IUSRS”,点击“检查名称”。
  • 多次点击“接受”。

在浏览器中刷新页面,现在静态文件应该可以工作了。

(您可能还会发现Temporary ASP.NET Files 系统文件夹有问题,在这种情况下请查看here。)

【讨论】:

    猜你喜欢
    • 2017-06-03
    • 2020-04-25
    • 1970-01-01
    • 2013-03-03
    • 1970-01-01
    • 2013-06-07
    • 1970-01-01
    • 1970-01-01
    • 2011-03-20
    相关资源
    最近更新 更多