HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Web állapot megőrzése SQL szerver által


Állapotkezelés 2. rész

Példaprogram letöltése

10633 bájt

Múlt heti cikkünkben azt vizsgáltuk, hogy miként tehetnénk biztonságosabbá az ASP.NET-es alkalmazásaink által a Session-ban tárolt adatok megőrzését. Akkor ezt a feladatot egy külső alkalmazásra bíztuk, mely egy Windows szervizként futott.
Ha azonban ennek az alkalmazásnak a működőképessége is befolyásolásra kerül, akkor az így tárolt adatok is elveszhetnek. Például valamiért újra kell indítanunk a számítógépet. Ekkor a Session adatok nem maradnak meg.
Adott azonban még egy olyan lehetőség a Session adatainak megőrzésére, mely még egy újraindítást is „túlél”. Lehetőség van arra, hogy a Session-ben tárolt információk az MS SQL egy adatbázisába kerüljön eltárolásra. A biztonságot tovább növelhetjük, ha ez az SQL szerver nem is azon a számítógépen van, melyen a webes alkalmazásaink futnak.

A WebForm1.aspx.cs forráskód 75. sorában lévő connStr sztringet változtassa meg a program futtatása előtt úgy, hogy annak segítségével elérhetővé váljon a MS SQL szerver tempdb adatbázisa. Ugyanezt kell megtennünk a Web.config állomány 63. sorában is. További szükséges előkészületi lépés az ASPState adatbázis létrehozása.
Ha ezt a módszert választanánk a Session adatainak tárolására, akkor ezt - hasonlóan a múltkorihoz - a Web.config állományban írhatjuk elő a sessionState bejegyzésnél. Ebben az esetben a mode attribútumot SQLServer értékre kell választanunk. Ekkor a sqlConnectionString-ben adhatjuk meg, hogy miként érhető el az SQL szerver.
    <sessionState 
            mode="SQLServer"
            sqlConnectionString="data source=127.0.0.1;user id=sa;password="
            timeout="20" 
    />
Vegyük figyelembe azt is alkalmazásaink készítésekor, hogy ennél a módszernél több processzor időre lesz szükség egy-egy művelet végrehajtásakor, mivel több idő kell egy adatbázis eléréséhez és az ottani adattároláshoz, kiolvasáshoz, mint ha a Session adat a saját alkalmazásunk memória területén lenne. Cserébe persze nagyfokú biztonságot kapunk a Session adatok tárolásában.
Fenti előkészületek azonban még nem elegendőek. Szükség van még az ASPState nevű adatbázis létrehozására is, melyet persze csupán egyetlen egyszer kell megtennünk, az első alkalmazásunk üzembe állításakor. Ehhez segítséget is kapunk, mely aktuálisan a „C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705” könyvtárban található két SQL állományban nyilvánul meg.
  • InstallSqlState.sql - telepíti az ASPState adatbázist.
  • UninstallSqlState.sql - eltávolítja az ASPState adatbázist.
Az SQL állományokat telepíthetjük az OSQL parancssori alkalmazással, de akár a Querz Analizer-ben is lefuttathatjuk.
osql –S [server name] –U [user] –P [password] InstallSqlState.sql
Ezt követően a Session objektumot a programunkban már a jól megszokott módon használhatjuk, a programozás szempontjából észre sem vesszük, hogy a Session adatai már az SQL szerver adatbázisába kerülnek eltárolásra.
lásd Web állapot megőrzése külső alkalmazás által

Könyv
Ez a cikk megtalálható ebben a könyvben: C# Software Offline 2002 évkönyv 321. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |