Domanda

Sto cercando di aumentare il timeout in tutte le sessioni. Il sito è ospitato da Godaddy ed è scritto in Flash (lato client ovviamente) e asp.net sul back-end. Ho aggiunto questo al mio web.config,

<sessionState timeout="720">

</sessionState>

È davvero tutto ciò che devo fare? Preferirei non lasciare mai scadere le sessioni, ma sono sicuro che il server debba recuperare quella memoria ad un certo punto ... Non sto memorizzando nulla nella sessione, in realtà, sto solo usando per tenere traccia dei progressi degli utenti attraverso il sito e se un utente ha effettuato l'accesso o meno.

Grazie per qualsiasi suggerimento ... tutta la documentazione sembra ingannevolmente semplice e mi rende nervoso ...

È stato utile?

Soluzione

Yup! Come in; Sì, questa è l'unica cosa che devi fare ...

Per ottenere " timeout infiniti " dovresti creare una richiesta HTTP in background (che trasmetterà il cookie di sessione) al server ogni 719 minuti. Anche se teoricamente dovresti avere anche "Fuori processo" sessioni usando ad es. una sorta di database o qualcosa del genere ...

Oppure potresti creare il tuo gestore di sessioni, penso che APS.NET abbia il supporto per questo usando una sorta di modello di adattatore o qualcosa del genere, ma non ne sono sicuro. Quindi potresti avere un " veramente " sessione senza fine ...

Altri suggerimenti

Se si utilizza l'autenticazione moduli, è necessario anche impostare il timeout di autenticazione moduli nel proprio web.config

Esempio:

<authentication mode="Forms">
  <forms
    name=".ASPXAUTH"
    loginUrl="/Home/Default.aspx"
    defaultUrl="/Dashboard/Default.aspx"
    protection="All"
    timeout="30"
    slidingExpiration="true"
  />
</authentication>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top