Wir haben eine .NET-Konsolenanwendung mit vielen Vordergrund-Threads. Wenn wir den Prozess mit Task-Manager beenden oder killjob, kill von der Befehlszeile in Windows, gibt es eine Möglichkeit, mit der wir die Anwendung (Hinzufügen von Manged-Code innerhalb der .net-Konsole App) ordnungsgemäß herunterfahren, so etwas wie ein Funktion wird aufgerufen sagen TodoBeforeShutdown(), die Objekte, schließt alle offenen Verbindungen, etc.Verwalten Sie eine .NET-App so, dass sie ordnungsgemäß beendet wird, wenn sie beendet/beendet wurde
PS - Ich lese die anderen Threads und sie alle vorgeschlagen, verschiedene Möglichkeiten, um den Prozess zu töten, anstatt meine spezifische Frage, was ist der beste Weg, wie wir einen Beendigungsprozess, innerhalb der .NET verwalteten Code handhaben können.
Vielen Dank im Voraus.
+1 für 'Sie müssen einen anderen Plan finden' :) – Aamir
Vielen Dank für Ihre Antwort. Ich möchte darauf hinweisen, dass dies nicht Teil eines Plans ist, sondern eher eine Einschränkung, die wir innerhalb der Batch-Scheduling-Infrastruktur unserer Unternehmen haben, die auf die Art und Weise entstanden ist, wie Linux höflich getötet wird. Dies wurde später auf Windows portiert und sie benutzten Kill. – keepsmilinyaar
@keepsmilinyaar: Interessanterweise ist das "höfliche Töten" ziemlich ungewöhnlich, sogar in der Unix-Welt. Die meisten Unix-basierten Betriebssysteme senden 'SIGKILL' (unbedingte) anstelle von' SIGTERM' (die höfliche Methode), um einen Prozess als Reaktion auf den 'killall'-Befehl zu beenden. –