Wie starte ich die asp.net Core App programmatisch neu?

8

Wie kann ich eine App im asp.net-Kern programmatisch neu starten?

Ich möchte den Cache löschen und veranlassen, dass die Anwendung den Start erneut aufruft.

    
eadam 21.03.2016, 01:56
quelle

3 Antworten

13

Aktualisieren : Mirasks Antwort ist für .NET Core 2 richtiger.

>

In Program.cs wird der Aufruf von host.Run() angezeigt. Diese Methode hat eine Überladung, die ein System.Threading.CancellationToken akzeptiert. Das mache ich:

%Vor%

Dann kann ich in meinem Controller Program.Shutdown() aufrufen und nach ein paar Sekunden stirbt die Anwendung. Wenn es hinter IIS ist, startet eine andere Anfrage automatisch die Anwendung.

    
Chet 14.03.2017 16:00
quelle
3

Wenn Sie dies nur für ein Entwicklungsszenario benötigen, können Sie dotnet-watch (für dotnet) oder dnx-watch (für DNX).

Wenn Sie möchten, dass Ihre Anwendung in der Produktion neu gestartet wird, müssen Sie etwas implementieren, was dem Watcher ähnlich ist. Sie benötigen einen externen Prozess, um den Prozess zu beenden. Oder Sie benötigen Ihre App, um eine Instanz von sich selbst zu starten und sich dann selbst zu töten. Leider gibt es dafür nichts aus der Box.

    
Victor Hurdugaci 21.03.2016 02:46
quelle
3

.NET Core 2

Es kann vorkommen, dass Sie Ihre ASP.Net Core 2-Site zum programmatischen Recycling zwingen möchten. Selbst in MVC / WebForms-Tagen war dies nicht unbedingt eine empfohlene Vorgehensweise, aber leider gibt es einen Weg. ASP.Net Core 2 ermöglicht die Injektion eines IApplicationLifetime-Objekts, mit dem Sie einige nützliche Dinge erledigen können. Erstens können Sie damit Ereignisse für den Start, das Herunterfahren und das Herunterfahren ähnlich wie bei einem Global.asax zu einem späteren Zeitpunkt registrieren. Aber es stellt auch eine Methode zur Verfügung, die es Ihnen ermöglicht, die Seite herunterzufahren (ohne einen Hack!). Sie müssen dies in Ihre Website injizieren, dann rufen Sie es einfach an. Unten ist ein Beispiel für einen Controller mit einer Route, die eine Site herunterfahren wird.

%Vor%

Quelle: Ссылка

    
Mirak 09.02.2018 09:34
quelle

Tags und Links