C# Session beendet nach refresh?!

Bububoomt

ohne Vertrauen
ID: 10361
L
28 April 2006
19.666
769
Ich habe folgendes Problem.

Auf Seite A sind unter einer bestimmten URL PDFs.
Auf Seite B soll ein Download dieser PDFs verfügbar sein.

Ich habe zunächst es so gemacht, dass Seite B alle PDFs per Webclient herunterlädt, speichert, zipt und dann als Download sendet.

Lokal funktioniert das auch, aber online auf Seite B kommt immer dass die Anforderung abgebrochen wurde.

Auch setzen von timeouts auf 1Std. Hat nichts bewirkt.

Lokal läuft das Script 10 min. Und bietet dann den dl an.

Nun dachte ich mir schreib ich das um und mache nach 5 erzeugten PDF eine Ausgabe x von y Pdf. Setze dann im jeder das Meta refresh und leite weiter, so dass das Script weis, dass es weiter machen soll.

Am Ende kommt dann wieder der dl.
Funktioniert wieder lokal ( also Seite B) einwandfrei, sobald es online ist werden 5 Pdf erzeugt, das refresh leitet weiter, aber ich lande auf ner fehlerseite. Diese kommt wenn keine Session["userid"] vorhanden ist.

Hat jemand eine Idee woran das liegen könnte?

Wie gesagt lokal funktionieren beide Varianten ohne Probleme.
Beide Seiten liegen auf dem gleichen Server und auch gleichen App-Pool.
 
Schon die Domains geprüft? Cookies haben per Default strenge Auflagen, wann sie an den Server gesendet werden, wenn einmal ein www. in der Domain war und einmal nicht kann das schon ausschlaggebend sein.
Also überprüfe mal für welche Domain die Cookies ausgestellt wurden und ob die Domain auch die gleiche ist.

Als 2. würde ich mal TamperData nutzen und den Nachrichtenverkehr mitschneiden und schauen ob der Client das Cookie sendet und der Server nichts mehr damit anfangen, oder ob er aus z.B. dem oben genannten Grund gar nicht sendet.
 
Die Domain bleibt die Selbe, da es sich um eine Subdomain handelt, und ein "www."-Subdomain der Subdomain nicht vorhanden ist.
Würde also dann einen Fehler vom Explorer bekommen und nicht die von der Seite "Du bist ausgeloggt...".

Werde das morgen mal mit dem Addon testen.
 
Das zweitere Problem (somit insgesamt für mich) habe ich nun gelöst.

Ich habe in dem 1. Aufruf ein Diorectory.Delte, dieses löschte einen Ordner, der sich innerhalb des Pfades der Applikation befand, also einen Unterordner.

Dadurch wird der Apppool neugestartet und die Session geleert. Wohl gemerkt geleert, die Sessionid bleibt weiterhin bestehen.