我在同一个 Windows 2003 开发服务器上托管了一个 Web 应用程序和一个 WCF 服务。它们每个都有自己的 IIS 网站节点,分别响应 drs.displayscreen.web 和 drs.displayscreen.service 主机头。hosts 文件包含两个指向 127.0.0.1 的标头的条目。该网站有一个对 drs.displayscreen.service 的服务引用。
当它们的应用程序池使用“网络服务”帐户时,这两个应用程序都能完美运行。
我需要在服务的后台执行一些 COM 处理,因此我想以自定义身份运行应用程序。两个站点都在一个新的应用程序池上运行。
当我更改应用程序池标识以使用为此目的创建的新 Windows 帐户时,我收到以下(内部)异常: [EndpointNotFoundException: Could not connect to 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) 而不是主机文件条目?它必须是某种权限,因为它在网络服务帐户下运行时没有这个问题。帮助!!