1

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

iis截图

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

这是我已经完成的清单:

  1. 在 IIS 树节点下的控制面板内的“启用/禁用 Windows 功能”对话框中启用“静态”组件。
  2. 在我的 web.config 的 <system.web><httpHandlers> 标记内有一个 <add path="*.css" verb="GET" type="System.Web.StaticFileHandler" />。
  3. 在我的 <system.webServer><handlers> 标记中有一个 <add name="CSS" path="*.css" verb="GET" type="System.Web.StaticFileHandler" preCondition="foo"/> 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
4

1 回答 1

0

好吧,这是一个权限问题!

首先,为了让我的 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系统文件夹有问题,在这种情况下请看这里。)

于 2014-03-13T19:01:56.100 回答