1 scenarijus: asp.net žiniatinklio programoje ASP.NET_SessionId "Microsoft" apibrėžtų algoritmų rinkinys, sudėtingų algoritmų rinkinys, pagrįstas aparatūros ID, paprastai gali užtikrinti nedubliavimą. Tačiau, jei norite įsitikinti, kad nėra dublikatų, galite patys apibrėžti SessionID generavimo metodą. Portalas:http://msdn.microsoft.com/zh-cn/ ... nidmanager.validate(v=vs.80).aspx
2 scenarijus: asp.net žiniatinklio programoje sesijos seansas atidaromas automatiškai (gali būti uždarytas web.config), kad svetainė išlaikytų vartotojo sesijos būseną ASP.NET_SessionId nepriklausomai nuo to, ar vartotojas turi verslo poreikių, ar ne! Tai sukuria našumo sąnaudas be jokios priežasties.
Taigi MVC3 "Microsoft" pašalino šią našumo suvartojimo dalį, o kai verslas naudoja seansą, jį generuoja verslo logika!
SessionIDManager.Validate(String) metodas
Gauna reikšmę, nurodančią, ar seanso identifikatorius galioja, ar ne.
pavyzdys
Toliau pateiktame kodo pavyzdyje rodoma paveldėta klasė SessionID, klasė SessionIDManager ir perrašomi metodai CreateSessionID ir Validate, pateikiant ir patvirtinant metodą Guid kaip SessionID.
Norint naudoti šiame pavyzdyje parodytą pasirinktinę klasę, SessionID turės pasirinktinę klasę Web.config faile, kaip parodyta toliau pateiktame HTTP modulio pavyzdyje.
vadybininkas esp valdyti pasirinktinį virtualų col var == quest
Naujos klasės pavadinimu CustomSessionIDManager kūrimas
Modifikuoti Web.Config
|