Безопасно ли использовать Log4net threadContext с WCF, размещенным в IIS?
В нескольких местах я читал, что 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 ответа
Поскольку Log4net является потокобезопасным, я не ожидал бы проблемы.
Я настроил службу WCF, размещенную в IIS6, которая использует log4net без проблем, независимо от режима параллелизма. Использование threadContext не должно быть проблемой.
Единственное предостережение: если вы загружаете настройку log4net из внешнего файла в слой WCF, вам, возможно, придется перезапустить его в IIS, чтобы получить изменения.
Я использовал контекст потока log4net для регистрации личности пользователя, который столкнулся с ошибкой в приложениях asp.net и службах wcf. Я не сталкивался с какими-либо проблемами. Это не окончательный ответ, но вы всегда можете отделить свой сервис от каркаса логов и проверить log4net и threadcontext. если вы столкнетесь с какими-либо проблемами, удалите логику контекста потока или подключите новую платформу журналирования с минимальным влиянием на логику службы