【发布时间】:2017-01-03 09:32:12
【问题描述】:
我正在使用相同的组件来访问 windows\system32 中的一些 dll。当我从 exe 执行此操作时,它可以工作。但是,当我从 IIS 应用程序执行此操作时,它会失败 - 我不确切知道错误是什么,因为我使用的是第三方组件。 我是否以特定方式设置了 IIS WCF 应用程序以访问 windows\system32 中的 dll?我试图明确输入访问物理路径的用户,但它没有帮助......
【问题讨论】:
-
IIS 日志中的状态码是什么? 401 还是 500 ?
-
无。我可以访问我的组件,它是由 wcf 服务执行的第三方组件,它会引发错误。我无法调试它,所以我猜测该进程可能没有权限。
-
当我在 windows\system32 中输入 dll 的完整路径但不在本地(完整)IIS 中时,它适用于 IIS Express
-
将应用程序池标识更改为Local System(这相当于Admin),看看它是否工作。如果可行,则将应用程序池标识恢复为默认值(不建议在本地系统中运行应用程序池)并使用进程监视器检查访问被拒绝问题,如此处blogs.technet.microsoft.com/chad/2009/12/30/… 所述。如果它在本地系统下不起作用,则主要不是权限问题
-
您的应用程序池运行的是 64 位还是 32 位 .Net 框架?我最近遇到了一个问题,因为应用程序池设置为 32 位,而我期望为 64 位,所以 Web 应用程序的一部分出错了。我想知道您尝试加载的 DLL 是否不匹配。
标签: wcf iis access-rights