Может ли давление памяти привести к вытеснению данных сессий в ASP.NET? - PullRequest
4 голосов
/ 02 октября 2009

Давление памяти когда-либо вызывает удаление информации сеанса в ASP.NET?

Если это так, произойдет ли это только после того, как будут удалены все кэши (даже с CachePriority.Highest), или каков порог для этого?

Ответы [ 3 ]

3 голосов
/ 02 октября 2009

Он не будет очищен автоматически, чтобы сохранить память так же, как это делает Кэш. Однако, если рабочему процессу не хватает памяти, он будет автоматически перезапущен. Если вы используете хранилище сеансов InProc, это означает, что все сеансы будут потеряны.

2 голосов
/ 02 октября 2009

Объект Session представляет собой единое целое. Если сеанс прерывается из-за недостатка ресурсов памяти, удаляется весь объект, а не отдельные свойства.

Если вы чувствуете, что отдельные значения в объекте Session исчезают, наиболее вероятная причина в том, что у вас есть код, который удаляет его.

1 голос
/ 02 октября 2009

Session и Cache - определенно энергозависимые носители данных. Я не уверен, есть ли приоритет, который влияет друг на друга, но есть больше факторов, чем просто нехватка памяти, которые вы должны учитывать. Например, Session будет просто удален путем изменения файла web.config (который перезапускает пул приложений). Это, конечно, при условии, что вы используете поставщик хранилища сеансов по умолчанию - вы можете изменить его на внепроцессный или хранилище сеансов SQL, если это может помочь в вашем конкретном сценарии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...