ho condotto il seguente test semplice:ASP.Net ReadOnly Sessione
- Nel web.config, abbiamo: `sessionState timeout = 40 = modalità InProc`
- pagina vuota con il `EnableSessionState =" ReadOnly "` impostato nel tag pagina
- Codice Dietro:
protected void Page_Load(object sender, EventArgs e)
{
if (Session["dt"] == null)
Session["dt"] = DateTime.Now;
Session["dt"] = ((DateTime)Session["dt"]).AddYears(1);
Response.Write(Session["dt"].ToString());
}
il risultato per le parti posteriori pubblicare concorrenti ape come il seguente:
1- 13/11/2015 10:00:00 2- 13/11/2016 10:00:00 3- 13/11/2017 10:00:00 4- 13/11/2018 10:00:00 5- 13/11/2019 10:00:00 6- 13/11/2020 10:00:00 ...
Che dice chiaramente che la variabile di sessione viene aggiornata. Su MSDN è possibile trovare il seguente: http://msdn.microsoft.com/en-us/library/ms178581(v=vs.100).aspx
È possibile disattivare lo stato della sessione per un'applicazione impostando la modalità dello stato sessione su Off. Se si desidera disabilitare lo stato della sessione solo per una determinata pagina di un'applicazione, è possibile impostare il valore EnableSessionState nella direttiva @ Page su false. Il valore EnableSessionState può anche essere impostato su ReadOnly per fornire accesso in sola lettura alle variabili di sessione.
Eseguiamo operazioni di lettura/scrittura su quasi tutte le pagine della nostra applicazione. Tuttavia, questo impedisce di eseguire due richieste HTTP per lo stesso client contemporaneamente. La prima richiesta dovrebbe essere completata finché il server non elabora la seconda. Dopo alcune ricerche, era chiaramente dovuto a serrature esclusive in sessione. Per curiosità, abbiamo provato a impostare lo stato di sessione su ReadOnly e sembra ancora modificabile che non siano definiti blocchi esclusivi.
Domande:
1- non Readonly significa di sola lettura (per cui v'è un bug in asp qui) o è qualcos'altro?
2- Fino a quando la sessione sembra essere modificabile con lo stato ReadOnly, c'è qualcosa di cui preoccuparsi, pensi che sia sicuro continuare ad usarlo in questo modo sull'ambiente di produzione?
Grazie
Appena incontrato lo stesso scenario. Una pagina contrassegnata con la sessione ReadOnly per velocizzare le richieste AJAX e Session è modificabile in quella pagina. Hai confermato con Microsoft che si tratta di un bug? –