Tempi di sessione
-
venerdì 24 febbraio 2012 11:27
nel mio file config gli passo questo comando,
ma la sessione mi dura poco più di 5 10 minuti come posso rimediare a questa problematica?
<sessionState sqlCommandTimeout="60" />
Tutte le risposte
-
venerdì 24 febbraio 2012 11:38Postatore
Con il parametro sqlCommandTimeout imposti il timeout per l'esecuzione di un singolo comando SQL, nel caso in cui la sessione sia memorizzata in un database. Se a te interessa prolungare la durata della sessione, invece, devi usare l'attributo timeout.
Puoi fare rifarimento a questa pagina: http://msdn.microsoft.com/it-it/library/h6bb9cz9.aspx, per maggiori informazioni.
Marco Minerva [MCPD]
Blog: http://blogs.ugidotnet.org/marcom
Twitter: @marcominerva- Modificato Marco MinervaMicrosoft Community Contributor, Editor venerdì 24 febbraio 2012 11:39
-
venerdì 24 febbraio 2012 11:49<sessionTimeout="60" /> è corretto?
-
venerdì 24 febbraio 2012 11:52Postatore
No, l'attributo timeout è un parametro di sessionState:
<sessionState timeout="60" />
Marco Minerva [MCPD]
Blog: http://blogs.ugidotnet.org/marcom
Twitter: @marcominerva- Proposto come risposta Massimo74rn giovedì 5 aprile 2012 07:01
-
venerdì 24 febbraio 2012 11:52
Da quanto ho letto mi pare di aver capito che la devo impostare da codice, nel mio caso ho messo nella master.page:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Session.Timeout = 500 end sub
così la impostao a circa 7 ore precisamente 500 minuti.
E' corretto?
-
venerdì 24 febbraio 2012 11:54PostatoreNon hai bisogno di impostarlo da code-behind, lo puoi fare tranquillamente nel web.config come ho mostrato nel mio post precedente.
Marco Minerva [MCPD]
Blog: http://blogs.ugidotnet.org/marcom
Twitter: @marcominerva -
venerdì 24 febbraio 2012 12:37
è da una vita che applico quanto hai postato:
<sessionState timeout="60" />
ma credo che non sia proprio attendibile.
mi confermi?
-
venerdì 24 febbraio 2012 12:52Postatore
Perché ti sembra non attendibile?
Considera inoltre che, oltre a questo valore per la sessione, devi tenere presente anche il timeout per la validità del login, che imposti con l'attributo timeout del tag forms: http://msdn.microsoft.com/en-us/library/1d3t3c61.aspx.
Marco Minerva [MCPD]
Blog: http://blogs.ugidotnet.org/marcom
Twitter: @marcominerva -
venerdì 24 febbraio 2012 13:49questo mi sfuggiva, vediamo un po come va
-
venerdì 24 febbraio 2012 14:09Postatore
OK, tienici aggiornati.
Marco Minerva [MCPD]
Blog: http://blogs.ugidotnet.org/marcom
Twitter: @marcominerva -
mercoledì 29 febbraio 2012 11:43il file [global] asax dove si trova?
-
mercoledì 29 febbraio 2012 11:51Nella root del sito, se non lo trovi fai tasto destro sul progetto -> Add -> NewItem e crealo :)
-
mercoledì 29 febbraio 2012 11:53Postatore
E' nella root del sito, ma potresti non averlo (dipende da come hai creato il progetto). In tal caso, lo puoi aggiungere con il solito comando Add New Item.
Tuttavia, come detto prima, ti consiglio di usare il parametro timeout nel file web.config. Facci sapere se con esso non ottieni il risultato voluto, così possiamo cercare di capirne il motivo (tieni anche conto di quello che ho scritto relativamente alla scadenza del login).
Marco Minerva [MCPD]
Blog: http://blogs.ugidotnet.org/marcom
Twitter: @marcominerva -
mercoledì 29 febbraio 2012 15:16
Bene ho provato, ora non mi resta che attendere per verificarne il funzionamento.
Grazie
-
venerdì 2 marzo 2012 16:31mi sembra che ancora non vada bene
-
venerdì 2 marzo 2012 16:40Postatore
Ci dai qualche dettaglio in più?
In che modo hai impostato il valore di timeout per la sessione, visto che te ne abbiamo consigliati diversi? Che test hai eseguito per verificare che non va bene?
Marco Minerva [MCPD]
Blog: http://blogs.ugidotnet.org/marcom
Twitter: @marcominerva -
lunedì 5 marzo 2012 09:57
web.config
<authentication mode="Forms"> <forms name=".MYSITEAUTH" loginUrl="index.aspx" path="/" timeout="500" cookieless="UseCookies"> </forms>
<sessionState timeout="500" />
- Proposto come risposta Massimo74rn giovedì 5 aprile 2012 07:01
-
lunedì 5 marzo 2012 10:07Postatore
Però non mi hai detto che test hai effettuato per determinare che queste impostazioni non funzionano come dovrebbero.
Inoltre, tieni presente che IIS può decidedere di terminare un'applicazione Web, se non utilizzata per diverso tempo, allo scopo di liberare risorse a favore di altri siti ospitati sul server.
Marco Minerva [MCPD]
Blog: http://blogs.ugidotnet.org/marcom
Twitter: @marcominerva -
lunedì 12 marzo 2012 17:40Proprietario
Ciao Luigi,
Potresti gentilmente farci sapere se sei riuscito a risolvere lo scenario del timeout nella tua applicazione ASP.NET? Potremmo esserti ancora di aiuto con qualche suggerimento?
Grazie,
Irina Turcu - Microsoft
Questo contenuto è distribuito “as is” e non implica alcuna responsabilità da parte di Microsoft. L'azienda offre questo servizio gratuitamente, allo scopo di aiutare gli utenti e approfondire la loro conoscenza dei prodotti e tecnologie Microsoft.
-
mercoledì 21 marzo 2012 14:06ci sto ancora lavorando speriamo di risolvere presto grazie a tutti scusate per il ritardo
-
mercoledì 21 marzo 2012 14:52
Se non hai un server dedicato su cui far girare l'applicazione, e hai visite, ti consiglio di non mettere un valore esagerato di timeout altrimenti non ti si libera più la memoria di sessione e mangi risorse.
Puoi anche valutare nella parte (o pagina) a cui a te ti interessa tenere la sessione a lungo, o anche nella master page, inserire latoi client un algoritmo di polling che ogni 5 minito chiama qualche cosa sul server (una apposita pagina vuota creata ad arte) e ti tiene viva la sessione: Ad ogni http request il tempo start di sessione si riazzera.
-
mercoledì 21 marzo 2012 22:00
Ciao Marco,
anche io su un mio sito, ho questo problema. Ovvero pur avendo impostato il "timeout" a 20 minuti, dopo 10 a volte mi scade.
Il login non è fatto con le membership, ma alla vecchia maniera, ovvero una variabile di sessione (deriva da un vecchio codice .NET 1.1 ereditato) quindi non ho impostato il timeout nel forms.
Non saprei come risolvere, e il cliente mi chiama spesso dicendo che dopo pochi minuti deve rifare il login!!!!
Io ho verificato ed in effetti scade prima dei 20 minuti impostati.
Programamtore ASP.NET
http://glucolo.wordpress.com -
mercoledì 21 marzo 2012 23:49Postatore
Ciao a tutti!
Se i suggerimenti avanzati finora non hanno sortito alcun effetto, è possibile tentare di seguire le indicazioni riportare nei seguenti link:
- http://www.c-sharpcorner.com/uploadfile/technoNet/session-timeouts-causes-and-remedies/
- http://forums.asp.net/t/1283350.aspx
Se anche questo non porta a nessun risultato evidente, un altro modo per evitare la scadenza della sessione è effettuare richieste verso il server, ad esempio ogni 5 minuti, in modo che la sessione venga mantenuta attiva. Utilizzando jQuery, è possibile realizzare questo sistema con poche righe di codice, come esemplificato qui: http://naspinski.net/post/Automatically-refresh-your-users-Session-behind-the-scenes-using-jQuery-and-AspNet.aspx.
Marco Minerva [MCPD]
Blog: http://blogs.ugidotnet.org/marcom
Twitter: @marcominerva




