global.asax und Session_End - da passiert nichts

Myar

Mitglied
Hallöchen!

Ich habe ein kleines Problem mit dem Session_End Ereignis.

Wenn ich das richtig verstanden habe, sollte, wenn der Timeout der Session, den ich manuel eingestellt habe:

Code:
<sessionState mode="InProc"  timeout="1"></sessionState>
(hier auf eine Minute zum testen)

abgelaufen ist und ich beim Browser auf Aktualisieren klicke (und doch somit einen Request an den Server schicke), das passieren, was in der global.asax in der Methode Session_End definiert ist ausgeführt werden?

In meinem Fall, soll der Benutzer ausgeloggt und auf die Loginseite zurückgeführt werden (der Code dafür funktioniert, es gibt einen Abmelden Button, der eben dies ausführt).
Doch lieder passiert gar nichts. Dass die Session beendet ist, weiß ich, da ein Wert, den ich in einer SessionVariable gespeichert habe erlischt.

Wo ist mein Denkfehler?

Man logged sich also über die Login Seite ein (Nutzerdaten werden über Datenbank verglichen) und wird auf die default.aspx geleitet. Hier macht man ne Weile nichts (in dem Beispiel eine Minute lang) und wenn man dann wieder was tut, sollte man erstmal wieder auf der login.aspx landen.

Weiß wer Rat?

Gruß
Myar
 
Du kannst das ganze damit steuern das du die Seiten, die nur für angemeldete Benutzer erreichbar sein sollen, per web.config schützt und hier Einstellungen machst was passieren soll wenn ein nicht angemeldeter benutzer versucht auf eine Datei zuzugreifen. Du kannst ihn hier dann einfach auf die Login-Page leiten:

Code:
<authentication mode="Forms">
            <forms loginUrl="~/login.aspx" protection="All" timeout="15"  />
        </authentication>
        <authorization>
            <deny users="?"/>
        </authorization>
 
Zurück