【发布时间】:2010-10-08 13:01:49
【问题描述】:
我有一个 Web 应用程序和一个 WCF 服务托管在同一个 Windows 2003 开发服务器上。它们每个都有自己的 IIS 网站节点,分别响应 drs.displayscreen.web 和 drs.displayscreen.service 主机标头。 hosts 文件包含两个指向 127.0.0.1 的标头的条目。该网站有一个对 drs.displayscreen.service 的服务引用。
当它们的应用程序池使用“网络服务”帐户时,这两个应用程序都能完美运行。
我需要在服务的后台执行一些 COM 处理,因此我想以自定义身份运行应用程序。两个站点都在一个新的应用程序池上运行。
当我更改应用程序池标识以使用为此目的创建的新 Windows 帐户时,我得到以下(内部)异常: [EndpointNotFoundException:无法连接到http://drs.displayscreen.service/Handler.svc。 TCP错误码10060:连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应192.168.98.2:8080。 ]
192.168.98.2:8080 是不再使用的 DNS 服务器的地址。解决方案中的任何地方都没有引用它。它根本不被 ipconfig 引用。
我已确保新帐户是 IIS_WPG 的成员,并且我已运行 aspnet_regiis -ga 。我还明确授予该帐户读取主机文件的权限。
为什么应用程序尝试使用失效的 DNS 服务器来解析临时 url (drs.displayscreen.service) 而不是主机文件条目?它必须是某种权限,因为它在网络服务帐户下运行时没有这个问题。救命!!
【问题讨论】:
-
如果您发现这是一个错误,请在connect.microsoft.com/visualstudio 发布错误报告。
标签: wcf iis permissions dns application-pool