IIS-Workerprozess programmatisch beenden
Hallochen Gemeinde.
im IIS-Management kann für einen ApplicationPool ein Zeit für die Wiederverwendung konfiguriert werden. Wird dieses Ereignis ausgelöst, läuft der (jeweilige) Workerprozess alle abzufangenden End-Ereignisse durch. Das ist wichtig, um Prozessdaten abschließend speichern zu können. Gleichsam verhält es sich, wenn im bin-Verzeichnis der Webapplikation etwas geändert wird. So weit, so gut!
Außerhalb dieser beiden Ereignisse, unter anderem wenn im IIS-Management der ApplicationPool manuell beendet wird, dann werden nicht alle abzufangenden End-Ereignisse durchlaufen beziehungsweise die zugehörigen Ereignisprozeduren werden während der Ausführung abgebrochen.
Einmal deshalb und auch im Rahmen der Fehlerbehandlung soll es möglich sein, so wie in den oben genannten ersten zwei Fällen eine Beendigung des Workerprozesses derart auszulösen, dass alle abzufangenden End-Ereignisse und die zugehörigen Ereignisprozeduren vollständig durchlaufen werden. Bei meiner bisherigen Recherche zu möglichen Lösungsansätzen habe ich noch nichts greifbares gefunden, insbesondere keine taugliche Objektmethode oder ein Ereignis, das über RaiseEvent initialisiert werden könnte.
Die denkbare Methode System.AppDomain.Unload() mit System.AppDomain.CurrentDomain als Parameter ist wirkungslos.
Kennt jemand einen tauglichen Lösungsansatz?
Vielen Dank im Voraus und viele Grüße
HansDampf06
im IIS-Management kann für einen ApplicationPool ein Zeit für die Wiederverwendung konfiguriert werden. Wird dieses Ereignis ausgelöst, läuft der (jeweilige) Workerprozess alle abzufangenden End-Ereignisse durch. Das ist wichtig, um Prozessdaten abschließend speichern zu können. Gleichsam verhält es sich, wenn im bin-Verzeichnis der Webapplikation etwas geändert wird. So weit, so gut!
Außerhalb dieser beiden Ereignisse, unter anderem wenn im IIS-Management der ApplicationPool manuell beendet wird, dann werden nicht alle abzufangenden End-Ereignisse durchlaufen beziehungsweise die zugehörigen Ereignisprozeduren werden während der Ausführung abgebrochen.
Einmal deshalb und auch im Rahmen der Fehlerbehandlung soll es möglich sein, so wie in den oben genannten ersten zwei Fällen eine Beendigung des Workerprozesses derart auszulösen, dass alle abzufangenden End-Ereignisse und die zugehörigen Ereignisprozeduren vollständig durchlaufen werden. Bei meiner bisherigen Recherche zu möglichen Lösungsansätzen habe ich noch nichts greifbares gefunden, insbesondere keine taugliche Objektmethode oder ein Ereignis, das über RaiseEvent initialisiert werden könnte.
Die denkbare Methode System.AppDomain.Unload() mit System.AppDomain.CurrentDomain als Parameter ist wirkungslos.
Kennt jemand einen tauglichen Lösungsansatz?
Vielen Dank im Voraus und viele Grüße
HansDampf06
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 666744
Url: https://administrator.de/forum/iis-workerprozess-programmatisch-beenden-666744.html
Ausgedruckt am: 13.03.2025 um 15:03 Uhr
2 Kommentare
Neuester Kommentar