Сколько памяти выделено для переменных сеанса? - PullRequest
1 голос
/ 07 ноября 2011

Я знаю, что могу хранить небольшие значения в Session.

В последнее время в моем приложении Visual Studio ASP.NET я узнал, что могу также хранить большие значения, такие как DataTable.

Это заставляет меня задуматься, сколько памяти может хранить Session. Это зависит от браузера или оперативной памяти на ПК?

1 Ответ

2 голосов
/ 07 ноября 2011

ASP.NET Session хранится на веб-сервере, на котором размещен веб-сайт. Таким образом, ограничение будет состоять в том, сколько ОЗУ находится на вашем веб-сервере, а не в браузере или ОЗУ на клиентском ПК. Так что если у вас на сайте 4 пользователя и у каждого по 128 МБ сеанса, то у вашего веб-сервера будет более 512 МБ ОЗУ, выделенной для ASP.NET.

Я также был бы очень осторожен с хранением многих вещей в сессии. Особенно сложные типы, такие как DataTable. Это происходит потому, что каждый раз, когда вы обращаетесь к этому объекту, он должен сериализоваться / десериализоваться, и это может сильно нагружать ЦП вашего веб-сервера.

Я бы рекомендовал ознакомиться с некоторыми рекомендациями для ASP.NET Session .

...