| - ASP .Net Session: configurazione e uso - | |||
| COSA SERVE PER QUESTO TUTORIAL | |||
| Download | Chiedi sul FORUM | Glossario | conoscenza dell'HTML - un web server che supporti la tecnologia ASP .NET | ||
| Le sessioni in ASP .Net: un login e come configurarle | |||
| UN LOGIN CON SESSIONE Un semplice esempio di utilizzo delle sessioni: un form di login 
        Una delle maggiori necessità di chi programma su web è indubbiamente 
		quella di superare l'ostacolo del fatto che HTTP è un protocollo 
		state-less, ovvero in cui ogni richiesta è considerata singola e 
		indipendente. Entra così in gioco il concetto di sessione, che nella sua 
		forma più semplice indica un lasso di tempo che inizia all'arrivo di un 
		utente su una qualunque pagina ASP .Net e termina con la sua dipartita 
		dal sito. 
		Ad una sessione è possibile associare una serie di dati riguardanti un singolo utente, 
		accessibili per tutta la durata della sessione da qualunque pagina. 
<%@ Page Language="VB" %>
<script language="VB" runat="server">
    Sub Page_Load(obj As Object, e As EventArgs)
        If Request("user") = "Carlo" And Request("pass") = "segreta" Then
            Session("user") = Request("user")
            Response.Redirect("conferma.aspx")
        End If
    End Sub
</script>
<form action="login.aspx">
    Nome utente: <br> 
    <input type="text" name="user" value="Carlo"> <br> 
    Password: <br> 
    <input type="password" name="pass" value="segreta"> <br> 
    <input type="submit" value="Login!">
</form>
e conferma.aspx: 
<%@ Page Language="VB" %>
Login effettuato con successo! <br>
Bentornato <% =Session("user") %>
Come si può vedere l'utilizzo delle sessioni è davvero semplice: per impostare un valore è sufficiente utilizzare la sintassi 
Session("identificativo") = Valore
e in seguito per richiamarlo (anche in un'altra pagina) 
Response.Write(Session("identificativo"))
        Si badi che Valore non deve per forza essere una stringa come 
		nell'esempio sopra, ma può essere un qualsiasi oggetto. Session è un oggetto che fa 
		parte del contesto della pagina, e quindi accessibile sempre senza 
		problemi, di tipo System.Web.SessionState.HttpSessionState. Session.Abandon() Richiamare questo metodo cancellerà tutti i dati memorizzati e farà terminare la sessione. 
        CONFIGURAZIONE DELLE SESSIONI IN ASP.NET 
		Ma se HTTP è un protocollo state-less, come si può determinare se una 
		richiesta proviene da uno stesso utente? Uno dei metodi è quello di 
		modificare gli URL di tutto il sito aggiungendo un identificativo 
		univoco della sessione (ad esempio 
		http://www.arcadiaclub.com/id{idUnivocoAlfaNumerico239}/pagina.aspx, 
		oppure http://www.arcadiaclub.com/pagina.aspx?session=idUnivocoAlfaNumerico239), 
		ma, nonostante ASP .Net permetta di applicare questo metodo senza troppa 
		fatica, la sua 
		adozione è fortemente sconsigliabile per via dei problemi che riguardano 
		i link, i quali vengono riscritti automaticamente (e spesso in 
		maniera imprecisa) da ASP .Net. 
<configuration>
    <system.web>
        <sessionState 
            timeout="20"
            cookieName="ASP.NET_SessionId"
            cookieless="[true|false|AutoDetect|UseCookies|UseUri]"
            mode="[Off|InProc|StateServer|SQLServer|Custom]"
        />
    </system.web>
</configuration>
        Nota: sono stati qui riportati solamente gli attributi più utili 
		e frequentemente usati. Session.Timeout = 20 'Tempo in minuti 
        L'attributo cookieName permette di impostare il nome del cookie 
		sotto il quale sarà memorizzato l'identificativo della sessione. | |||
| << INDIETRO | by VeNoM00 | ||