• Facebook
  • Twitter
  • Youtube
  • Allineato
  • RSS
  • Docs
  • Confronti
  • Blog
  • Scaricare
  • Contattaci
Scaricare
Mostra/Nascondi sommario

Proprietà del provider dello stato della sessione ASP.NET

Memorizzazione di sessioni ASP.NET in NCache non richiede programmazione. NCache fornisce un provider di stato sessione ASP.NET scalabile e ad alte prestazioni tramite un'interfaccia personalizzata SessionStateStoreProviderBase implementazione per un'applicazione ASP.NET. Le caratteristiche principali includono il blocco della sessione, la serializzazione JSON, i tentativi configurabili e la possibilità di visualizzare i dati della sessione memorizzati tramite GetByTagPer configurare e recuperare le sessioni ASP.NET nella tua applicazione, apporta le seguenti modifiche.

Modifica il tag dello stato della sessione ASP.NET

Modifica le tue applicazioni web.config archiviare e modificare il <sessionState> sezione come mostrato di seguito.

<configuration>
  ...
  <sessionState cookieless="false"
                regenerateExpiredSessionId="true"
                mode="Custom"
                customProvider="NCacheSessionProvider"
                timeout="20">
    <providers>
      <add name="NCacheSessionProvider"
          type="Alachisoft.NCache.Web.SessionState.NSessionStoreProvider"
           cacheName="demoCache"
           sessionAppId="demoApp"
           useInProc="false"
           enableLogs="false"
           exceptionsEnabled="true"
           writeExceptionsToEventLog="false"
           AsyncSession="false"
           enableSessionLocking="true"
           sessionLockingRetry="-1"
           emptySessionWhenLocked="false" />       
    </providers>

  </sessionState>
...
</configuration>

Modifica il tag MachineKey per le Web Farm

Nel caso delle web farm aggiungere il file <machineKey> tag sotto il <system.web> sezione. Ciò garantisce che gli ID di sessione ASP.NET vengano generati nello stesso modo su tutti i nodi. Scopri come generare una chiave macchina per una farm web: Genera una chiave macchina per una Web Farm (IIS 7)

<machineKey validationKey ="A01D6E0D1A5D2A22E0854CA612FE5C5EC4AECF24"
   decryptionKey ="ACD8EBF87C4C8937" validation ="SHA1"/>

Serializzazione di oggetti di sessione

Prima di iniziare a usare NCache Per memorizzare e recuperare gli oggetti Session di ASP.NET, tieni presente che non puoi memorizzarli direttamente nella cache. Per memorizzare questi oggetti Session nella cache, devi prima serializzarli. Esistono diversi metodi che puoi adottare per serializzare gli oggetti Session. Questi metodi sono i seguenti:

Serializzazione binaria

Puoi utilizzare questo metodo di serializzazione se hai accesso al codice sorgente dell'applicazione. In questo caso, devi contrassegnare tutti gli oggetti (quelli che desideri archiviare nella cache) come serializzabili.

Note:

Tuttavia, questo metodo è obsoleto a partire da .NET 6.0 e se si utilizza la serializzazione binaria o la serializzazione compatta all'interno di qualsiasi applicazione ASP.NET, verrà generata un'eccezione che informa gli utenti di conseguenza.

NCache Serializzazione compatta

Come alternativa alla serializzazione binaria, puoi usare NCache Serializzazione compatta per serializzare gli oggetti della sessione. È più veloce e richiede solo la modifica dei file di configurazione invece di modificare il codice sorgente.

L'unico problema con questo metodo è che la modifica alla configurazione può essere notevole se il numero di classi che si desidera serializzare è elevato.

Serializzazione JSON

Se nessuna delle tecniche di serializzazione menzionate sopra soddisfa i tuoi requisiti, puoi optare per la serializzazione JSON. L'utilizzo di questo metodo è estremamente veloce e semplice in quanto richiede solo di apportare una singola modifica al tuo web.config file e il resto del lavoro viene svolto da NCache in fase di esecuzione.

Devi solo impostare il valore di useJsonSerialization contrassegnare come Vero. Per impostazione predefinita, il valore di questo flag è False.

Recupera i dati della sessione

NCache consente di visualizzare tutti i dati della sessione archiviati in una cache in cluster tramite il file NCache Modulo Stato Sessione. Tutti i dati di sessione vengono aggiunti alla cache specificata come elemento della cache con tag NC_ASP.NET_session_data.

I dati della sessione precedentemente memorizzati possono essere recuperati da GetByTag API, che restituisce un dizionario popolato con ID di sessione e dati di sessione associati archiviati nella cache.

var allSessionData = cache.SearchService.GetByTag(new Tag("NC_ASP.NET_session_data"));

Proprietà SessionState

Di seguito vengono descritte le coppie chiave-valore specificate in precedenza:

Member Descrizione
sessionAppId È un optional string attributo che specifica un identificatore per assicurarsi che l'ID sessione rimanga univoco nel caso in cui più applicazioni utilizzino la stessa cache. L'ID applicazione dovrebbe essere lo stesso per un'applicazione in una web farm. Se non viene specificato alcun ID applicazione, nulla verrà concatenato con l'ID sessione.
cacheName Questo è un requisito String attributo che specifica il nome della cache da utilizzare per la sessione di memorizzazione nella cache. Se non viene specificato alcun nome cache, verrà generata un'eccezione di configurazione.
enableSessionLocking un optional Boolean attributo. Se questo flag è impostato su True, il NCache Session Store Provider blocca esclusivamente l'elemento session store per il quale vengono effettuate più richieste simultanee. Il valore predefinito è False.
sessionLockingRetry Questo è un optional Integer attributo. Se enableSessionLocking è True e questo numero intero non è inferiore a 0, il NCache Il Session Store Provider restituirà una sessione vuota dopo sessionLockingRetry, che specifica il numero di tentativi per acquisire un blocco. Il valore predefinito è -1.
writeExceptionsToEventLog un optional Boolean attributo. Se questo flag è impostato su True, tutte le eccezioni dell'API della cache vengono scritte nei registri eventi. Il valore predefinito è False.
enableLogs È un optional Boolean attributo. Quando questo flag è impostato su True, il provider dello store registra tutte le informazioni di errore. I file di registro vengono creati in %NCHOME%\log-files\SessionStoreProvider (Windows) o /opt/ncache/log-files/SessionStoreProvider (Linux). Il valore predefinito è False.
enableDetailLogs un optional Boolean attributo. Quando questo flag è impostato su True, il provider dello store registra tutte le informazioni di debug. I file di registro vengono creati in %NCHOME%\log-files\SessionStoreProvider (Windows) o /opt/ncache/log-files/SessionStoreProvider (Linux). Il valore predefinito è False.
exceptionsEnabled Questo è un optional Boolean Attributo che specifica se le eccezioni provenienti dall'API della cache vengono propagate all'output della pagina. Impostare questo flag su True è particolarmente utile durante la fase di sviluppo dell'applicazione, poiché le eccezioni forniscono maggiori informazioni sulle cause specifiche dell'errore. Il valore predefinito è False.
operationRetry Specifica il numero di volte in cui il server tenterà nuovamente l'operazione, se la connessione al server viene persa durante l'esecuzione di un'operazione. Il suo valore predefinito è 0(zero).
operationRetryInterval Specifica l'intervallo di tempo tra ogni nuovo tentativo di operazione, nel caso in cui venga persa la connessione con il server. Il suo valore predefinito è 0(zero).

Vedere anche

Condivisione di sessione tra ASP.NET e ASP.NET Core
Backplane ASP.NET SignalR

Contattaci

PHONE

+1 214-619-2601   (US)

+44 20 7993 8327   (UK)

 
E-MAIL

sales@alachisoft.com

support@alachisoft.com

NCache
  • Confronto edizione
  • NCache Architettura
  • Parametri di riferimento
Scaricare
Prezzi
Prova Parco giochi

Distribuzioni
  • Cloud (SaaS e software)
  • On-Locale
  • kubernetes
  • docker
Casi d'uso tecnici
  • Sessioni ASP.NET
  • Sessioni ASP.NET Core
  • Messaggistica Pub/Sub
  • SignalR in tempo reale per ASP.NET
  • Internet of Things (IoT)
  • Database NoSQL
  • Streaming Processing
  • Microservices
Risorse
  • Articoli di riviste
  • Articoli di terze parti
  • Articoli
  • Video
  • Fogli bianchi
  • Spettacoli
  • trattativa
  • Blog
  • Docs
Casi di studio dei clienti
  • Testimonianze
  • Clienti
Assistenza
  • Pianificare un demo
  • Forum (Google Gruppi)
  • Consigli
Azienda
  • Leadership
  • Partner
  • News
  • Eventi
  • Lavora con noi
Contattaci

  • IngleseCinese (semplificato)FranceseTedescoItalianoGiapponeseCoreanoPortogheseCorsi

  • Contattaci
  •  
  • Mappa del sito
  •  
  • Termini d’uso
  •  
  • Informativa privacy
© Copyright Alachisoft 2002 - . Tutti i diritti riservati. NCache è un marchio registrato di Diyatech Corp.
Torna in alto