У меня в приложении есть требование, которое, я думаю, может быть выполнено с помощью локального хранилища потоков, но мне интересно, стоит ли этого избегать.
Я прочитал несколько статей на эту тему:
http://www.dotnetcoders.com/web/Articles/ShowArticle.aspx?article=58
http://msdn.microsoft.com/en-us/library/system.threadstaticattribute(vs.80).aspx
Я знаю , как использовать это, мне просто интересно, должен ли я использовать это.
Любой совет, есть что знать?
[Изменить]
Вот пример использования:
Я направляю весь доступ к данным через несколько методов, которые делают много записей о каждом запросе. Одна вещь, которую я регистрирую, - это полный дамп текста команды с заполненными командами, так что я могу просто скопировать и вставить из своих журналов трассировки непосредственно в Sql Management Studio.
Поднимаясь в global.asax в своих веб-приложениях, я отправляю электронное письмо администраторам с как можно большим количеством информации, когда получаю необработанное исключение. Я хочу поместить текст дампа этой команды sql в это электронное письмо, когда получу SqlException, что сэкономит мне время на копание журналов трассировки, когда страница взрывается из-за запроса.
Я не хочу изменять сигнатуры методов моих классов доступа к данным просто для того, чтобы я мог передать некоторую ссылку вниз по стеку, просто чтобы получить ее, когда получу исключение. Я подумал, что, возможно, TLS будет хорошим местом для размещения чего-то вроде «lastsqlcommand», но это не похоже на жизнеспособное решение.