c# - Windows 7 操作系统中的服务不使用主机文件作为本地服务

标签 c# windows service hosts

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

其他服务的 IP 在主机文件中定义。

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

在 Windows Server 2008 上这工作正常。使用主机文件中的 IP。

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

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

我可以在本地系统和普通用户之间可靠地切换相同的服务二进制文件,而无需触及主机文件,错误是可重现的。因此,这与在任何地方缓存任何内容或拥有错误的主机文件无关。

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

最佳答案

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

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

关于c# - Windows 7 操作系统中的服务不使用主机文件作为本地服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29670490/

相关文章:

c# - 轮询网络服务

c# - 如何使用 WMI 或 System.Net.NetworkInformation windows 10 在 c# 中获取当前连接的 wifi SSID?

c# - 如何选择整个 DataGrid 表格行并使用 WPF 单击按钮将其删除?

c++ - 分析 Windows : what does the error message tell us? 中的崩溃

service - Windows服务 "Starting"

java - 服务崩溃并重新启动

c# - 单击 ASP.NET 按钮会使页面以 IE9 的 Quirks 模式显示

c# - 参数 : IEnumerable vs. IList 与 IReadOnlyCollection 的最佳实践

c++ - 无法在 Windows 中以编程方式 (C++) 从其他用户帐户读取文件

c++ - 打开文件以在 C++ 中显示内容