Я задавался вопросом, было ли мудро кэшировать Платформу Объекта объект ObjectContext в Кэше; это даст мне проблемы с многочисленными связями в то же самое время, когда пользователь испытает проблемы с этим?
Я получил ошибки как: 'соединение в настоящее время закрывается' и задалось вопросом, происходило ли это из-за многочисленных пользователей и кэширования ObjectContext, или если это было связано для высказывания совершающего нападки обновления многократно или остановки страницы и быстро выполнения чего-то еще (что-то, что мы действительно делали для получения ошибки).
Я согласен с вышеизложенным. Однако я кэширую контекст объекта в коллекции HttpContext.Current.Items без каких-либо проблем. Также рекомендуется прочитать:
Я бы не советовал это делать. ObjectContext должен быть активным, чтобы наблюдать за изменениями любых сущностей, с которыми вы активно работаете, иначе вам нужно будет отключить любые активные сущности перед кэшированием ObjectContext.
Если у вас нет активных сущностей, нет реальной необходимости кэшировать ObjectContext. В EFv1 работа с отключенными объектами была в лучшем случае проблематичной, поэтому я бы либо не кэшировал, либо ждал Entity Framework v4, который позволяет создавать более управляемые объекты (объекты самопроверки, объекты POCO и т. Д.).
Просто подумал, что добавлю еще один пункт - несколько потоков - тоже может быть проблематично. Применение изменений попытается зафиксировать все изменения, отслеживаемые ObjectContext. Если несколько пользователей используют один Контекст ... что ж, надеюсь, вы заметили проблемы ..