Необходимо образование в отношении HttpApplicationState ASP.net

StackOverflow https://stackoverflow.com/questions/1011900

  •  06-07-2019
  •  | 
  •  

Вопрос

Сегодня меня запутали две проблемы, связанные с HttpApplicationState ASP.net.Мои вопросы заключаются в следующем

  1. Если я использую StateServer для управления сеансами (материал управления сеансами out proc, который я хочу использовать для развертывания моего веб-сада), безопасно ли предположить, что HttpApplicationState (я получаю доступ через свойство System.Web.UI.Page.Application) также хранится внутри StateServer. так же, как сессия?Итак, если мой рабочий процесс A записывает значение «10» в Page.Application, другой запрос, выполняющийся в рабочем процессе B в какой-то момент позже, должен увидеть это «10» для того же ключа — правильно ли это?

  2. Один из моих коллег-разработчиков рассказал мне, что в своем тесте в сценарии StateServer он обнаружил: если у него есть 100 записей значений ключа, вставленных в Page.Session, то, когда он пытается прочитать любой ключ из другого запроса, рабочий процесс переносит все 100 записей в активное пространство памяти рабочего процесса, а затем обслуживает ключ, который был на самом деле спросил по запросу. это правда?

Был бы очень признателен, если бы кто-нибудь помог мне развеять мои сомнения по этому поводу.

Спасибо!

Это было полезно?

Решение

  1. StateServer поддерживает только состояние сеанса, состояние приложения ограничено AppDomain.

  2. StateServer хранит сериализацию сеанса.У него нет возможности узнать, как получить доступ к определенному значению ключа.При доступе к сеансу он повторно передается приложению, требующему его, и используется как обычные данные сеанса на протяжении всего запроса.

Другие советы

  1. Насколько мне известно, сервер состояния вне процесса не хранит данные HttpApplicationState.Вы можете легко проверить это, чтобы убедиться, но я сомневаюсь, что это так.

  2. Я тоже не думаю, что это правда.Хранилище сеансов по сути представляет собой хеш-таблицу.Поиск одного ключа в хеш-таблице должен возвращать только связанное значение.Вы не должны видеть поведение, которое вы описываете.Опять же, вы сможете легко это проверить.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top