Wie beendet man das dotnet mit Docker?

8

Gibt es eine Möglichkeit, eine DOTNET CORE Anwendung, die in DOCKER läuft, herunterzufahren? Wenn ja, welches Ereignis sollte ich hören?

Alles, was ich will, ist eine Stornierungsanfrage. Ich möchte meine Stornierungs-Token an die aktuellen Methoden übergeben und die Abschaltung verschieben, während sie arbeiten.

Suchen Sie nach einem Beispielcode, Referenzlink usw., die für dotnet core und nicht für generische Informationen relevant sind

  

UPDATE   Diese Frage ist kein Duplikat von Docker-Container wird sofort auch mit Console.ReadLine () in einer .net-Kernkonsolenanwendung beendet , weil ich kein sofortiges Beendigungsproblem habe. Ich muss etwas wie Windows.SystemsEvents.SessionEnding aufrufen sich auf Console.CancelKeyPress zu verlassen und / oder WebHostBuilder() zu implementieren passt nicht zur Rechnung.

    
cilerler 22.11.2016, 12:42
quelle

4 Antworten

3

System.Console hat ein Ereignis namens CancelKeyPress. Ich glaube, das wird ausgelöst, wenn ein Signat-Ereignis in dotnet übergeben wird.

%Vor%     
TerribleDev 05.05.2017 21:17
quelle
3

In .NET Core 2.0 können Sie das AppDomain.CurrentDomain.ProcessExit -Ereignis verwenden, das unter Linux in Docker funktioniert. AssemblyLoadContext.Default.Unloading funktioniert wahrscheinlich auch vor .NET Core 2.0.

    
Marc Sigrist 24.11.2017 13:44
quelle
1

Mit 2.0.0-preview2-006497 habe ich einige Tests durchgeführt, und jetzt wird AssemblyLoadContext.Default.Unloading ausgelöst, wenn Docker ein SIGTERM / SIGINT an den Container sendet .

Beispielcode sieht folgendermaßen aus:

%Vor%

Siehe auch dieses Thema für einige Details: Ссылка

    
Stef Heyenrath 08.08.2017 19:47
quelle
0

Wenn Ihr Container unter Linux läuft, funktioniert Loader.AssemblyLoadContext.Default.Unloading , da er das SIGTERM-Signal abfangen kann, Windows hat jedoch nicht den entsprechenden Mechanismus dafür ( Dotnet-Problem ). Hier finden Sie eine Antwort auf die Benachrichtigung zum Herunterfahren in Windows, indem Sie SetConsoleCtrlHandler ursprünglich von gist

verwenden %Vor%     
Feiyu Zhou 12.03.2018 11:28
quelle

Tags und Links