Я использую ObjectContext и храню его в коллекции HttpContext.Current.Items. Я разделяю ObjectContext для одного запроса, но платформа также позволяет загружать свежую, не кэшированную, отличную копию ObjectContext путем включения флага. Таким образом, для определенных сценариев я могу вообще обойти HTTPContext. Есть веские причины для этого; Во-первых, у меня есть различные статические ссылки, которые используют ObjectContext, поэтому каждая из этих статик получает свою собственную копию. Другие сценарии состоят в том, что конкретный процесс может выполняться изолированно, поэтому он должен быть уникальным.
Я пытаюсь избавиться от общего ObjectContext в Page Unload, и иногда это работает нормально, но время от времени я получаю исключения ObjectDisposedException по запросам (потому что какой-то процесс пытается прочитать данные и вызывает их). Я имею в виду, что я получу это исключение один раз, вызову обратную передачу и получу ошибку и для этого запроса, и для следующих запросов. Закрытие и повторное открытие браузера работали, но потом я иногда получал ошибку. Это случайно; однажды страница работает, позже нет. Это та же страница, так что это не ошибка логики.
Это заставляет меня верить, что:
- Коллекция HttpContext.Current.Items НЕ изолирована для одного запроса HttpRequest на пользователя ИЛИ:
- Статика как-то влияет на процесс и удаление общего соединения ИЛИ:
- Есть ошибка, которую я должен продолжать исследовать ....
Кто-нибудь испытывал проблемы с первыми 2 предметами? Мое понимание неверно?