2016-05-24 7 views
0

Ich habe eine Windows-Dienstanwendung, die die WLAN-Liste scannen und in Datei speichern würde. dann werde ich die datei lesen und in die mysql datenbank schreiben und die datei schließen. meine wifi scanning und db methoden in einer anderen klasse innerhalb desselben windows service projektes, das ich in der service klasse aufruft. Ich bin in der Lage, den Windows-Dienst auszuführen und zu installieren, aber ich denke, dass diese Methoden nicht aufgerufen werden. Ich habe sie sogar in der Service-Klasse ausprobiert, aber sie haben immer noch nicht in OnStart-Methode aufgerufen. Wenn ich es Abschnitt Modus und Debug von Visual Studio ausführen funktioniert es gut, aber wenn ich es in Installutil installieren startet es nur den Dienst nichts passiert, obwohl der Dienst immer noch im Hintergrund ausgeführt wird. Ich habe Windows Form-Version von diesem erstellt und das funktioniert gut.Windows-Dienste führt nicht meine Klassenmethode

+0

dann müssen Sie die Protokollierung hinzufügen, um herauszufinden, was es tut, und was nicht. Wenn Sie Fenster erstellen oder versuchen, auf Netzwerklaufwerke oder alle Arten zuzugreifen, kann es die Arbeit stoppen – BugFinder

+0

Ich arbeite an dem lokalen System nicht Teil eines Netzwerks und definiert meinen Dienst für die Ausführung auf dem lokalen System. –

Antwort

1

Ich denke, es ist wahrscheinlicher, dass die Klassenmethode aufgerufen wird, aber das Schreiben der Ausgabedatei schlägt fehl. Das Konto, mit dem der Service ausgeführt wird, hat wahrscheinlich keine Rechte zum Erstellen und/oder Schreiben der Ausgabedatei. Überprüfen Sie den Ordner, in den geschrieben werden soll, und prüfen Sie, ob das Konto, das Ihren Dienst ausführt, über die richtigen Zugriffsrechte verfügt. Sie können auch Process Monitor verwenden, um dies zu überprüfen (einen Filter für Pfad oder Prozessnamen festlegen).

+0

Beachten Sie die typischen integrierten Windows-Konten, die Dienste ausführen - LocalSystem spricht mit dem Dateisystem, aber nicht mit dem Netzwerk. NetworkService wird über das Netzwerk kommunizieren, hat jedoch nur sehr wenige Berechtigungen für den lokalen Computer einschließlich des Dateisystems. –

Verwandte Themen