4

我正在尝试在全新的 Server 2012 上启动并运行 IIS 8 以运行 .net 4.5 应用程序,但我无法让它跨驱动器工作

Error: 500.19
Module
   IIS Web Core 
Notification
   Unknown 
Handler
   Not yet determined 
Error Code
   0x80070005 
Config Error
   Cannot read configuration file due to insufficient permissions  
Config File
   \\?\D:\callsheet-test\web.config 

当前站点只是一个文件 index.html。

如果我将文件夹复制到 c: 上的任何位置,例如 c:\callsheet-test\ 或 c:\inetpub\callsheet-test,一旦我在 IIS 8 中更改目标位置(站点 > 基本设置),它就会完美运行。

是否存在 web.config 文件并不重要,因为复杂的 mvc/webforms 应用程序会给出相同的错误。

我曾尝试使用权限复制文件,甚至认为权限似乎与所有用户匹配。我仍然收到此错误。

我已经删除了分区并将其重新创建为挂载点 c:\mount 并且发生了同样的问题。将文件复制到 c:\notamount 并且它们工作正常。

此服务器在 VMware 服务器上运行。Windows 2012 x64 标准。

4

2 回答 2

1

根据对问题的进一步调查(通过我上面评论中的链接),我通过此处找到了解决方法:将“审核可移动存储”的组策略值从“未配置”更改为“无审核”并重新启动。我知道很奇怪。此设置位于 Windows 设置/安全设置/高级审核策略配置/系统审核策略/对象访问。

即使我们使用的是 VMWare 而不是 Hyper-V,这种解决方法仍然对我有用。希望微软能给出答案。

于 2013-02-11T02:54:09.233 回答
0

我也有同样的错误,解决方案也很相似。我在 Windows Server 2012 上安装了 Sql Server 2012,此时我注意到从系统 C: 驱动器运行的 IIS 工作进程无法访问 E: 驱动器上的配置文件。尽管通过 IIS_IUSRS、IUSR、用户和/甚至特定的 AppPool 本身授予了所有必要的 NTFS 权限,但该站点只能在 C: 驱动器上加载。当 IIS 无法访问 E: 驱动器时,即使使用 ApplicationPoolIdentity 帐户以外的管理员帐户运行 AppPool (.NET 4.5),这一点变得很明显(在此上下文中为 IIS APPPOOL.NET v4.5 - 在 procexp.exe 中验证) . 安装 Sql Server 2012 在安装过程中引发错误,并且需要在其他设置中启用对象访问审核。

解决方案:

  1. 运行-> secpol.msc
  2. 安全设置 -> 本地策略 -> 审核策略
  3. 将“审核对象访问”策略更改为“无审核”

希望这个背景有助于缓解某人的头痛。:-)

于 2013-03-14T17:27:16.100 回答