Ukládání stavu klientské relace v ASP.NET V našem úvodu do modelu relace výše můžete vidět, že stav relace by měl být uložen na dvou místech, a to na straně klienta a serveru. Klient je zodpovědný pouze za ukládání ID relace příslušného webu, zatímco ostatní informace o relaci jsou uloženy na straně serveru. V ASP je SessionID klienta skutečně uloženo jako cookie. Pokud uživatel zvolí v nastavení prohlížeče zakázat cookies, nebude si moci užívat pohodlí relace a může dokonce nemít přístup k některým webovým stránkám. Aby bylo možné vyřešit výše uvedené problémy, existují v ASP.NET dva typy způsobů ukládání informací o relací: cookies a bezcookies. V ASP.NET klient stále používá cookies k ukládání informací o relaci ve výchozím nastavení. Pokud chceme na klientovi použít bezsoubory cookies k ukládání informací o relacích, následující je metoda: Najděte kořenový adresář aktuální webové aplikace, otevřete soubor Web.config a najděte následující odstavec: <sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1; Trusted_Connection=ano" cookieless="falešné" timeout="20"
/> cookieless="false" v tomto odstavci se mění na cookieless="true", takže informace o relaci klienta již nejsou ukládány cookies, ale jsou uloženy přes URL. Zavření současného IE, otevření nového IE a opětovné připojení k webové aplikaci bude vypadat takto: Mezi nimi je tučné písmo v http://localhost/MyTestApplication/(ulqsek45heu3ic2a5zgdl245)/default.aspx ID relace klienta. Všimněte si, že tyto informace jsou automaticky přidávány IIS a neovlivňují předchozí běžné připojení.
|