Asynchrone, langlaufende Worker-Threads mit Fortschrittsanzeige in ASP.Net

Manchmal ist es notwendig in einer Web-Applikation langlaufende Prozesse zu starten. Wenn diese Prozesse länger als 10 Sekunden dauern, müssen die Benutzer der Applikation warten bis der Task abgeschlossen ist und die Seite neu lädt, um weiterzuarbeiten. Im schlimmsten Fall bekomme sie sogar ein Timeout. In diesem Artikel möchte ich eine Möglichkeit vorstellen, den Task asynchron zu starten und den Benutzer über den aktuellen Fortschritt des Tasks zu informieren bzw. in der Zwischenzeit weiterarbeiten zu lassen...