Безопасно ли использовать 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. если вы столкнетесь с какими-либо проблемами, удалите логику контекста потока или подключите новую платформу журналирования с минимальным влиянием на логику службы

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