Windows 7操作系统中的服务不使用hosts文件作为本地服务

nvo*_*igt 11 c# windows service hosts

我编写了一个通过网络调用另一个服务的Windows服务.

其他服务的IP在hosts文件中定义.

Windows服务作为本地系统运行.

在Windows Server 2008上,这可以正常工作.使用hosts文件中的IP.

在Windows 7上,使用hosts文件中的IP .相反,它使用普通的DNS.

如果我使用普通用户而不是本地系统,则行为是正确的.与Windows Server 2008上的相同.使用主机文件.

我可以在本地系统和普通用户之间可靠地切换相同的服务二进制文件,而无需触及hosts文件,错误是可重现的.所以它不是在任何地方缓存任何东西或者有错误的主机文件.

我错过了Windows 7中的任何内容吗?为什么作为本地系统运行的服务使用hosts文件?

Cod*_*ard 10

它作为普通用户工作的原因可能是:您可能有一个重复的hosts文件%LOCALAPPDATA%\VirtualStore,这是一个重定向文件夹,用于以非管理员身份运行并尝试写入系统位置的程序.如果是这种情况,那么hosts当您认为编辑系统的文件时,实际上会看到错误的文件!

另一个原因可能是设置为file的错误权限.请从https://serverfault.com/a/452269尝试第5点