Я провел следующий простой тест:ASP.Net ReadOnly Session
- В web.config, мы имеем: `таймаут = режим sessionState 40 = InProc`
- Пустые страницы с `EnableSessionState =" ReadOnly "` установлены в теге страницы
- кода Сзади:
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());
}
результата для одновременных почтовых спин будут пчела, как:
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 ...
Что явно говорит о том, что переменная сеанса обновляется. На сайте MSDN вы можете найти следующее: http://msdn.microsoft.com/en-us/library/ms178581(v=vs.100).aspx
Вы можете отключить состояние сеанса для приложения путем установки сеанса режим состояния Выкл. Если вы хотите отключить состояние сеанса только для определенной страницы приложения, вы можете установить значение EnableSessionState в директиве @ page на значение false. Значение EnableSessionState также может быть установлено в ReadOnly, чтобы обеспечить доступ только для чтения к переменным сеанса.
Мы выполняем операции чтения/записи практически на каждой странице нашего приложения. Однако это предотвращает одновременное выполнение двух HTTP-запросов для одного и того же клиента. Первый запрос должен быть завершен до тех пор, пока сервер не обработает второй. После некоторых исследований это было очевидно из-за эксклюзивных блокировок на сеансе. Для любопытства мы пытались установить состояние сеанса в ReadOnly и, похоже, все еще редактируемы, и не определены исключительные блокировки.
Вопросы:
1- ли Readonly означает Readonly (так что есть ошибка в жереха здесь) или что-то другое?
2 Поскольку сеанс, видимо, редактируется с помощью состояния ReadOnly, есть ли что-то, о чем можно беспокоиться, думаете ли вы, что безопасно использовать его так же, как в производственной среде?
Благодаря
Только что столкнулся с тем же сценарием. Страница, отмеченная сессией ReadOnly для ускорения запросов AJAX, а сеанс может быть изменен на этой странице. Вы подтвердили с Microsoft, что это ошибка? –