Ich habe einen Windows-Dienst programmiert, der einen anderen Dienst über das Netzwerk anruft.Dienst in Windows 7-Betriebssystem, das die Hosts-Datei nicht als lokalen Dienst verwendet
Die IP des anderen Dienstes ist in der hosts-Datei definiert.
Der Windows-Dienst wird als lokales System ausgeführt.
Auf Windows Server 2008 funktioniert das gut. Die IP aus der Host-Datei wird verwendet.
Unter Windows 7 wird die IP-Adresse der Hosts-Datei nicht verwendet. Stattdessen verwendet es normales DNS.
Wenn ich einen normalen Benutzer anstelle des lokalen Systems verwende, ist das Verhalten korrekt. Dasselbe wie unter Windows Server 2008. Die Host-Datei wird verwendet.
Ich kann zuverlässig zwischen lokalem System und einem normalen Benutzer für den gleichen Dienst binäre wechseln, ohne die Hosts-Datei zu berühren, der Fehler ist reproduzierbar. Es geht also nicht darum irgendwo etwas zwischenzuspeichern oder eine falsche hosts Datei zu haben.
Gibt es irgendetwas in Windows 7, das ich verpasst habe? Warum sollte ein Dienst, der als lokales System ausgeführt wird nicht die Hosts-Datei verwenden?
Jede Chance, es ist ein Fehler in der Hosts-Datei unter Windows 7, so dass der Eintrag einfach ignoriert wird (wie eine Steuer char, dass zeigt an wie normaler Platz)? – UserControl
Nun, wenn ich den Benutzer zu einem tatsächlichen Benutzer anstelle von LocalSystem wechseln, funktionieren die gleichen Hosts-Datei und die gleiche Dienst-Binärdatei gut, also denke ich, dass es korrekt sein muss. – nvoigt
Haben Sie die Berechtigungen für die hosts-Datei überprüft, um sicherzustellen, dass sie korrekt sind? – Xefan