Language: Deutsch Programming Language: C# Published by: Thomas Last Update: 4/24/2006 Views: 1168
Ich habe einige Zeit gebraucht, bis ich dahinter gekommen bin, wie man unter ASP.NET einen echten Hintergrundthread anstoßen kann. Denn man kann zwar zur Laufzeit eines Webforms weitere Threads erstellen und starten, sobald der Hauptthread aber abgearbeitet ist, werden auch diese gekillt. Die Lösung: die Timer-Klasse im .NET Framework "Stellt einen Mechanismus zum Ausführen einer Methode in angegebenen Intervallen bereit. Diese Klasse kann nicht geerbt werden." Mit dieser kann man eine Methode einer Klasse wie geschrieben in einem beliebigen Intervall im Hintergrund, vollkommen unabhängig vom aufrufenden Prozess ausführen. Man kann sie aber auch nur einmal aufrufen. Ausschlaggeben ist hier die vom Framework bereitgestellte Konstante "System.Threading.Timeout.Infinite" "The value of this constant is -1. For threading methods that accept a timeout parameter, such as System.Threading.Thread.Sleep and System.Threading.Thread.Join, this value is used to suppress method behavior that would normally occur due to elapsed time." Fertig ist der Hintergrundprozess :-) Nutzen kann man das zum Beispiel für größere oder länger dauernde Prozesse, z.B. Auswertungen, Newsletter-Versand usw.
Name *
Email (won't be displayed) *
Website
Comment *
Security Code *