0

schrieb ich Folgendes als Teil meiner C# -Konsolenanwendung. Wenn ich diese Funktion derzeit in Visual Studio ausführe oder die .exe-Datei manuell ausführe, wird an der Eingabeaufforderung eine Meldung angezeigt, und der Benutzer muss auf einen beliebigen Schlüssel klicken, um das Fenster zu erstellen.Wie wird Windows-Schüler reagieren, wenn ich Console.ReadLine() habe; in meiner Konsolenanwendung

Console.Write(syncResult + " Press any key to exsit.."); 
    Console.ReadLine(); 

jetzt will ich von Windows-Taskplaner diese Konsole Anwendung aufrufen ,, so nicht sicher, ob dies bedeuten, dass die Eingabeaufforderung aktiv bleiben? Ich meine, die .exe wird weiter ausgeführt, wenn eine Windows-Task die .exe in einem vordefinierten Intervall aufruft.

Dank

+1

Die Aufgabe wird nicht abgeschlossen, bis jemand die Eingabetaste drückt. Warum solltest du das als geplante Aufgabe beibehalten? –

+0

@KenWhite nur in einigen Fällen müssen Sie es manuell ausführen .. nicht sicher, was ist der beste Weg, um das zu verwalten .. –

+1

Sie sollten einen Befehlszeilenparameter hinzufügen. Wie zum Beispiel '/ q'uiet. –

Antwort

3

Ich habe mehrere Tools wie diese auf Produktionsservern laufen und behandelt in all jenen Fällen, wie die Menschen bereits vorgeschlagen haben. Ich habe ein Kommandozeilenargument wie/q (leise) oder/u (unbeaufsichtigt), die vor dem Aufruf von Readline geprüft:

if (!args.Any(a => a == "/q")) 
    Console.ReadLine(); 

sonst wird die Aufgabe nicht vollständig ausgeführt und ein paar Tage später werden Sie viele finden davon laufen sie noch im TaskManager. Natürlich müssen Sie beim Erstellen der Aufgabe daran denken, diesen Parameter in der Konfiguration hinzuzufügen.