Есть ли способ имитировать ThreadStatic для использования с HttpContext.Current.Items?

Из-за гибкости потоков в ASP.Net, ThreadStatic не является подходящим механизмом для использования в веб-приложениях для разделения доступа статического свойства от одного запроса к другому.

Во избежание множества звонков HttpContext.Current.Items и связанные с ним нулевые проверки и т. д. Есть ли какая-либо хитрость, предлагаемая.Net Framework, посредством которой я мог бы создать атрибут, который работает вроде ThreadStatic, но использует HttpContext.Current.Items если текущий код выполняется в контексте запроса ASP.Net?

примечание: я знаю, что ThreadStaticAttribute является особым случаем без внутреннего функционального кода и проверяется компилятором JIT до того, как сработает любое его волшебство.

1 ответ

Проект n2cms имеет встроенный класс AdaptiveContext, на который вы могли бы взглянуть. Я знаю, что некоторые говорили о том, чтобы сделать что-то подобное в log4net, но я не уверен, что это было завершено.

Хотя, насколько я могу судить, ничего не встроено в рамки.

Другие вопросы по тегам