Безопасно ли использовать Log4net threadContext с WCF, размещенным в IIS? - PullRequest
3 голосов
/ 30 января 2010

В некоторых местах я читал, что log4net threadContext небезопасно использовать в сценарии asp.net. Вот несколько статей:

Log4Net, ThreadContext и Global.asax
http://piers7.blogspot.com/2005/12/log4net-context-problems-with-aspnet.html

Итак, мой сценарий - я хочу использовать threadContext в слое WCF, размещенном в IIS. Будет ли threadcontext нормально? Я думаю, что режим параллелизма "сингл" сделает это хорошо.

Ответы [ 3 ]

1 голос
/ 30 января 2010

Поскольку Log4net является потокобезопасным, я не ожидал бы проблемы.

0 голосов
/ 08 февраля 2010

Я настроил службу WCF, размещенную в IIS6, которая использует log4net без проблем, независимо от режима параллелизма. Использование threadContext не должно быть проблемой.

Единственное предостережение: если вы загружаете настройку log4net из внешнего файла в слой WCF, вам может потребоваться перезапустить его в IIS, чтобы получить изменения.

0 голосов
/ 08 февраля 2010

Я использовал контекст потока log4net, чтобы регистрировать личность пользователя, который столкнулся с ошибкой в ​​приложениях asp.net и службах wcf. Я не сталкивался с какими-либо проблемами. Это не окончательный ответ, но вы всегда можете отделить свой сервис от каркаса логов и протестировать log4net и threadcontext. если у вас возникнут какие-либо проблемы, удалите логику контекста потока или подключите новую инфраструктуру ведения журналов с минимальным влиянием на логику службы.

...