Мы использующий 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"