ASP.NET Zone

Die ASP.NET Community. Alle Antworten rund um Microsoft® Webtechnologien
Willkommen bei ASP.NET Zone. Anmelden | Registrieren | Hilfe | Impressum | ASP.NET Zone Suchplugin

in
Home Blogs Foren FAQ Communities Fotos Downloads

Session Timeout verhindern

Letzter Beitrag 04-26-2013, 14:10 von Entity. 2 Antworten.
Beiträge sortieren: Zurück Weiter
  •  04-26-2013, 12:43 225023

    Session Timeout verhindern

    Hallo!

    im web.config file meiner webseite steht:

    <sessionState timeout="1440"
                      mode="InProc" timeout="1440"
                      mode="InProc"/>

    dennoch passiert es, dass meine user immer wieder zur loginpage geroutet werden.

    anscheinend kackt die session ab wenn irgendwo ein fehler in der app auftritt... ich kann nicht genau sagen wieso, aber das ist eigentlich nicht das thema.

    Innerhalb meiner webseite rennen mehrere Silverlight Apps... und in dieser bekomme ich manchmal folgenden fehler gemeldet: "HttpWebRequest_WEbException_Remoteserver: Argumente: NotFound" wenn ich auf eine WCF-Funktion zufreife.

    Wenn man dann die Seite neu ladet... dann funktioniert wieder alles.

     

    Meine Vermutung ist, dass die Session abgelaufen ist (obwohl sie nicht sollte) und aus diesem Grund das WCF auch nicht mehr auf Funktionsaufrufe reagiert.

    Wenn die Session abläuft und der User macht etwas im normalen ASP, dann wird er zur loginseite umgeroutet... wenn er aber nur innerhalb der SilverlightApp arbeitet, bekommt er glaube ich gar nicht mit, dass seine Session weg ist... kann das sein?

     

    Die Frage ist, wie kann ich abchecken ob die Session noch aktiv ist, um den User gegebenfalls zur LoginPage zu schicken?

    Habt ihr irgendwelche Vorschläge?

    danke vielmals

     


    mfg Entity
  •  04-26-2013, 13:13 225024 Antwort zu 225023

    AW: Session Timeout verhindern

    Hi,

    es kann viele Ursachen dafür geben, dass eine Session beendet wird.
    • Session Timeout ist abgelaufen.
    • Leerlauf Timeout im Application Pool ist erreicht (Default: 20 Minuten)
    • Es sind x Fehler innerhalb kurzer Zeit aufgetreten. In dem Fall wird der Application Pool meistens recyclet.
    • Eine Änderung der web.config, einer Assembly im BIN Ordner, einer anderen relevanten Datei (Code oder Control, ...)
    • ...
    Wie Du siehst, kann man das erst einmal nicht an einer Stelle festmachen. Geh mal die einzelnen Punkte durch und prüfe, ob die evtl. dafür sorgen, dass die Session beendet wird.



    --
    Gruß, Stefan Falz
    Microsoft MVP - Visual Developer ASP/ASP.NET
    ASP.NET Consulting, Development, Coaching

    ASP.NET Zone - Leitfaden für gute Postings

    Xtopia 2008 - Gewinnspiel / Expression Studio und Xtopia Eintrittskarten zu gewinnen
  •  04-26-2013, 14:10 225025 Antwort zu 225024

    AW: Session Timeout verhindern

    gut...

    #1 sollte nicht sein..  soll ja angeblich einen tag sein die 1440 minuten

    #2 was meinst du mit leerlauf timeout im application pool? (EDITH: hab mich da eingelesen.. das kanns nicht sein.. weil sicher durchgehend leute auf die webseite zugreifen.. und falls nicht, darfs auch austimen)

    #3 sehr wahrscheinlich ;-) aber die fehler werde ich nie finden (ich handle page_error in der deault.aspx und versuche ein response.redirect auf die selbe seite... in 99% der fällen reicht das) aber fehler treten genug auf. aber die webseite ist so riesig, dass ich sicher nicht alle fehler finden und beseitigen können werde.

    #4 auszuschließen!

    aber die frage ist... wie checke ich im silverlight ob die session noch läuft wie leite ich den user zum login weiter?

    oder wie halte ich die session am laufen? kann es sein, dass die session austimed weil der server nicht mitbekommt, dass in der silverapp gearbeitet wird weil ja keine postbacks passieren?


    mfg Entity
Als RSS Feed in XML ansehen
Powered by Community Server (Commercial Edition)