Der er to ting i Webconfig man kan pille (jo der er mange flere, men omkring session) Ex. <authentication mode="Forms"> <forms name=".ASPXAUTH" protection="All" timeout="60" loginUrl="validate.aspx"></forms> </authentication> Her er timeout sat til 60 minutter, standard er hvist nok 30 minutter
Dette styrer kun din formsAuthentication session. Den 'almindelige' session ligger i <sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="true" timeout="20" /> Som du kan se så er denne kun tyve minutter. Personligt mener jeg at de bør have den samme timeout.
Jeg har et program hvor jeg bruger Persistent cookie, men er lidt i tvivl om hvor længe den lever. Det skal være sådan at hvis de kommer på siden om 7 dage skal cookien stadig være der?
Skal jeg så både sætte timeout i mode="Forms" som du skriver og i sessionstate?
Din FormAuthentication lever kun så længe som du har sat i timeout.
At en cookie er persisten betyder blot at den ikke slettes fra klienten efter endt session, men ligger lige så længe som der er specificeret i cookien.
Grunden til at jeg skiver at du bør sætte din session state og timeout til det samme, er blot fordi de fleste vælger at gemme bruger data i sessions. Så er det jo ikke så fedt at ens login gælder i fire dage, mens ens indstillinger er røget efter 20 minutter - defor bør de to følges af, men mindre man ikke benytter sig af session objektet.
Der er i og for sig intet til hinder for at man sætter begge værdier til en uge, dog skal man huske at hvis dit site har mange besøgende, så vil alle disse besøgende æde din RAM på at ligge og blive gemt i ugevis.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.