将虚拟目录映射到另一台机器时,我遇到了 IIS7 的问题。
这是我的设置:
- 我的 Web APP 正在 Web 服务器上运行(我们称之为 WEBSERVER)。Windows 服务器 2008,IIS 7。
- 我在资产服务器中获得了一些资产/图像(我们称之为 ASSETSSERVER)。Windows Server 2003,位于 C:\Assets 文件夹中,共享为 \\ASSETSSERVER\Assets
- 服务器位于工作组中,而不是域中。这是我无法控制的事情,我无法改变。
- 根据我们网络团队的建议,我将应用程序池配置为在用户 WEBSERVER\portaluser 下运行
- 在我的网络应用程序中,我定义了一个虚拟目录。我将它映射到 \\ASSETSSERVER\Assets。在登录凭据中,我指定了用户 ASSETSERVER\assetsuser(存在)。“测试凭据”按钮显示我已通过身份验证并且我已获得授权。
起初,我收到一个 500.19 错误,告诉我无法登录。这篇文章揭示了解决方案:我必须使用相同的密码创建一个 WEBSERVER\assetsuser 用户(违反直觉,但它有效)。
在那之后,我的资产仍然拒绝显示。我现在收到类似这样的消息:
Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: An error occurred loading a configuration file: Failed to start monitoring changes to '\\ASSETSERVER\assets'.
Source Error:
[No relevant source lines]
Source File: \\ASSETSERVER\assets\web.config Line: 0
我做了一些广泛的谷歌搜索,并尝试了以下方法:
- 修改了本地策略以允许 WEBSERVER\portaluser 在登录后模拟其他帐户,如此处所建议的(适用于 Windows 2000 Server,但值得一试!)
- 向 \\ASSETSSERVER\assets 中的每个人添加了权限,如此处所示(底部答案)
- 向 ASSETSSERVER\assetsuser 用户添加了对 ASSETSSERVER 中 c:\ 驱动器的读取/执行/列表权限,如此处所建议的(方法 3)
- 我编辑了注册表项以阻止 IIS 监视文件夹的更改,如此处所示(作者声称它与 IIS 无关,但我很确定 IIS 确实监视文件夹以了解 web.config 中的更改)
- 我已经在 applicationHost.config 中配置了 allowsubdirconfig="false" ,如此处所示
这些解决方案都没有奏效,我已经没有尝试什么的想法了。似乎我已经很近了,但到目前为止。有什么建议么?