Ответ 1
Мы использовали коллекцию HttpContext.Current.Items для кэширования RequestScope. Он работает хорошо.
Мы используем ASP.NET 3.5 (подход на основе управления) и должны иметь хранилище только для одного HTTP-запроса.
Кэш, зависящий от конкретной темы, с ключами из идентификатора сеанса не будет работать, потому что потоки должны быть объединены, и поэтому у меня есть возможность получить данные из предыдущего запроса в кеше, что нежелательно в моем случае. Мне всегда нужно иметь новое хранилище для каждого запроса, доступного по всему запросу.
Любые идеи, как это сделать в ASP.NET 3.5?
Мы использовали коллекцию HttpContext.Current.Items для кэширования RequestScope. Он работает хорошо.
чтобы прояснить, что ggonsalv имел в виду
http://msdn.microsoft.com/en-us/library/system.web.httpcontext.items.aspx
HttpContext.Items["key"] = value;
ОБНОВЛЕНИЕ: версия для mvc
http://msdn.microsoft.com/en-us/library/system.web.mvc.controller.httpcontext(v=VS.100).aspx
Как насчет использования коллекции Context. Это позволяет делиться данными между всеми вашими элементами управления, но только для запроса.
Используйте его так: context.Items( "base_url" ) = "default.aspx"