Hallo,
meine frage ist, kann ich eine lagdauernde operation (einfügen von datensätzen), welche in einem UserControl ausgeführt wird, asyncron machen?
Habe bis jetzt nur die möglichkeiten für page gesehen!
Geht das auch in einem Control (einfach mit Begin und EndMethoden), oder muss ich das über einen Webservice machen?
mfg
serial
Hallo serial
Nein, das geht nicht.
Gruss Peter
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011
Hallo Peter,
das heisst, es bringt auch nix über einen webservice?
Wie würde man denn sowas dann am besten lösen?
mfg
serial
Hallo serial
das heisst, es bringt auch nix über einen webservice?
Wie würde man denn sowas dann am besten lösen?
Öhm, was hat ein Webservice damit zu tun?
Und wie soll man etwas lösen das unmöglich ist 😉
Die Frage ist doch eher: Was willst du erreichen?
Gruss Peter
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011
Hallo Peter,
ich wll einfach eine langsauernder operation asynchron ausführen!
Webservices bieten doch das async-event pattern....?! (oder irre ich mich da?)
Konnte mir eben schlecht vorstellen, das dies wirklich unmöglich ist...:(
mfg
serial
Hallo Serial,
natürlich gibt es eine Lösung, aber du mußt hier einen ganz anderen Weg gehen.
Deine langandauernde Arbeit läßt du auf dem Webserver ausführen (z.B. in einer statischen Klasse), speicherst immer wieder den Status in einen Session zwischen und dein Usercontrol frägt zyklisch per Ajax den Status der Arbeit ab und gibt einen sinnvollen Text für den Benutzer aus.
Das mit AddOnPreRenderCompleteAsync brauchst du nicht. Denn meines Wissens kehrt der Seitenaufruf hier auch erst zum Browser zurück wenn deine Operation fertig ist. Also nützt dir das nichts.
Das erfordert paar Zeilen Programmieraufwand.
Ich kann dir morgen ein Beispiel Projekt senden.
.
Soderle, hier das Beispielprojekt.
Ist sicher nicht perfekt, zeigt aber das Prinzip.
Ich verwende es ähnlich für eine Webanwendung die Dokumente zusammenstellt (1 Job benötigt ca. 2-3 min Zeit).
Es kann aber Sinn machen, das Ergebnis dem Benutzer per Email zusenden um besser die Serverresourcen einzuteilen.
Viel Spaß.