Hallo zusammen,
ich habe eine Blazor Server App .NET 5.0.
Diese soll nun im IIS gehostet werden und in einem bestimmten Intervall Backgroundcode ausführen.
Die Frage ist nun, ob dieser auch ausgeführt werden kann wenn die App nicht im Browser geöffnet ist bzw. weiterläuft wenn das Browserfenster geschlossen wird.
Online finde ich diesbezüglich wenig Infos.
var timer = new System.Threading.Timer((e) =>
{
//Do stuff
}, null, startTimeSpan, periodTimeSpan);
Oben der Timercode den ich benutze um den Backgroundthread ins Rollen zu bringen.
Vielen Dank schonmal im voraus
Eine Blazor Server App läuft auf dem Server, nicht auf dem Client.
Daher ist es egal, was der Client macht.
Darüber hinaus ist eine Blazor Server App nichts anderes als eine normale ASP.NET Core Applikation mit einer zusätzlich registrierten Middleware.
Das bedeutet, dass Du periodischen Background-Code einfach über einen Backgroundservice umsetzen kann. Hat im Endeffekt mit dem Blazor-Teil nichts zutun.
Du kannst damit natürlich nur Dinge auf dem Server und nicht auf dem Client ausführen.
Beachte dazu, dass IIS Idle Shutdown deaktiviert sein muss sowie die Applikation gestartet sein muss; also mindestens einen Request erhalten haben muss.
Das gilt aber für jede Art von Webapplikation im IIS.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code