> vielleicht bin ich nicht der erste, aber wie kann ich bei
> einer Client-Server Anwendung unter ASP.NET es schaffen, das
> wenn der Server mit Datenbankaufgaben beschäftigt ist, auf
> dem Client ein Status der aktuellen Aktionen ausgegeben werden kann.
> Unter Windows-Forms ist das ja kein Problem.
> Aber unter Web_Forms müsste das doch auch irgendwie möglich sein.
>
> Hat jemand vielleicht eine Idee wie das geht.
Du musst die komplette Seite schicken und vor dem schliessenden ein
script-tag aufmachen und dann immer über funktionsaufrufe daten an die Seite
schicken:
UpdateStatus('erstelle Kopfsätze');
...
...
Die UpdateStatus-Funktion hast Du weiter oben definiert, so dass der
übergebene Text irgendwo in ein Textfeld oder DIV reingeschrieben wird.
Nach jedem Update musst Du natürlich die Ausgabe Flushen, damit es auch am
Client ankommt.
So sieht es theoretisch aus und funktionier ziemlich straight forward in
normalen Skript-Sprachen wie ASP oder PHP.
Bei ASP.NET wirst Du da ein paar Klimmzüge machen müssen, denn normalerweise
laufen ja alle möglichen Events vor dem Rendern ab und erst zum Schluss wird
die komplette Webseite an den Client geschickt.
Ein einfaches Response.Write in so ziemlich jedem Event wäre zu früh, also
bevor irgendwas von der Seite am Client ankommt und wenn man es nach dem
Rendern macht, ist das nacht dem schliessenden , also eigentlich zu
spät, weil es zu ungültigem HTML führt.
Eine andere Möglichkeit wäre die Seite komplett aufzubauen und dann per AJAX
die einzelnen Schritte aufzurufen und entsprechend anzuzeigen. Das führt
natürlich zu dem Problem, dass clientseitig Schritte verhindert werden
können.
Oder Du startest einen Thread, der die Arbeit im Hintergrund erledigt und
beendest die Seite.
Die Seite holt dann über AJAX den Fortschritt, den der Thread natürlich
irgendwo, z.B. In ne Application-Variable o.ä. Reinschreiben muss.
Claudius