Есть ли способ имитировать ThreadStatic для использования с HttpContext.Current.Items?
Из-за гибкости потоков в ASP.Net, ThreadStatic
не является подходящим механизмом для использования в веб-приложениях для разделения доступа статического свойства от одного запроса к другому.
Во избежание множества звонков HttpContext.Current.Items
и связанные с ним нулевые проверки и т. д. Есть ли какая-либо хитрость, предлагаемая.Net Framework, посредством которой я мог бы создать атрибут, который работает вроде ThreadStatic
, но использует HttpContext.Current.Items
если текущий код выполняется в контексте запроса ASP.Net?
примечание: я знаю, что ThreadStaticAttribute является особым случаем без внутреннего функционального кода и проверяется компилятором JIT до того, как сработает любое его волшебство.
1 ответ
Проект n2cms имеет встроенный класс AdaptiveContext, на который вы могли бы взглянуть. Я знаю, что некоторые говорили о том, чтобы сделать что-то подобное в log4net, но я не уверен, что это было завершено.
Хотя, насколько я могу судить, ничего не встроено в рамки.