HttpSessionState.SessionID Proprietà

Definizione

Ottiene l'identificatore univoco della sessione.

public:
 property System::String ^ SessionID { System::String ^ get(); };
public string SessionID { get; }
member this.SessionID : string
Public ReadOnly Property SessionID As String

Valore della proprietà

String

Identificatore di sessione univoco.

Esempio

Nell'esempio di codice seguente viene illustrato un file di Web.config che configura lo stato della sessione per l'uso di identificatori di sessione senza cookie. Per altre informazioni, vedere la proprietà IsCookieless.

<configuration>
  <system.web>
    <sessionState
      cookieless="true"
      regenerateExpiredSessionId="true"
      timeout="30" />
  </system.web>
</configuration>

Commenti

La SessionID proprietà viene utilizzata per identificare in modo univoco un browser con i dati di sessione nel server. Il SessionID valore viene generato in modo casuale da ASP.NET e archiviato in un cookie di sessione non scaduto nel browser. Il SessionID valore viene quindi inviato in un cookie con ogni richiesta all'applicazione ASP.NET.

Se si vuole disabilitare l'uso dei cookie nell'applicazione ASP.NET e si usa ancora lo stato della sessione, è possibile configurare l'applicazione per archiviare l'identificatore di sessione nell'URL anziché un cookie impostando l'attributo dell'elemento cookieless di configurazione sessionState su trueo su UseUri, nel file Web.config per l'applicazione. È possibile avere ASP.NET determinare se i cookie sono supportati dal browser specificando un valore di UseDeviceProfile per l'attributo cookieless . È anche possibile avere ASP.NET determinare se i cookie sono abilitati per il browser specificando un valore di AutoDetect per l'attributo cookieless . Se i cookie sono supportati quando UseDeviceProfile viene specificato o abilitato quando AutoDetect viene specificato, l'identificatore di sessione verrà archiviato in un cookie; in caso contrario, l'identificatore della sessione verrà archiviato nell'URL. Per altre informazioni, vedere la proprietà IsCookieless.

L'oggetto SessionID viene inviato tra il server e il browser in testo non crittografato, in un cookie o nell'URL. Di conseguenza, un'origine indesiderata potrebbe ottenere l'accesso alla sessione di un altro utente ottenendo il SessionID valore e includendolo nelle richieste al server. Se si archiviano informazioni private o riservate nello stato della sessione, è consigliabile usare SSL per crittografare qualsiasi comunicazione tra il browser e il server che include .SessionID

Quando si usa lo stato sessione basato su cookie, ASP.NET non alloca spazio di archiviazione per i dati della sessione fino a quando non viene usato l'oggettoSession. Di conseguenza, viene generato un nuovo ID sessione per ogni richiesta di pagina fino a quando non si accede all'oggetto sessione. Se l'applicazione richiede un ID sessione statico per l'intera sessione, è possibile implementare il Session_Start metodo nel file Global.asax dell'applicazione e archiviare i dati nell'oggetto Session per correggere l'ID sessione oppure è possibile usare il codice in un'altra parte dell'applicazione per archiviare in modo esplicito i dati nell'oggetto Session .

Se l'applicazione usa lo stato della sessione senza cookie, l'ID sessione viene generato nella prima visualizzazione pagina e viene mantenuto per l'intera sessione.

Si applica a

Vedi anche