Я хотел бы использовать следующее в моей службе wcf для регистрации пользователя в сообщении журнала:
log4net.ThreadContext.Properties["user"] = this.currentUser.LoginName;
У меня служба настроена на запуск в InstanceContextMode.PerSession
. В начальном вызове службы wcf я устанавливаю это свойство ThreadContext
на текущего пользователя, который вошел в систему, но каждый последующий вызов не регистрирует это свойство.
Я почти уверен, что для каждого вызова службы она запускает задачу в другом потоке, даже если она настроена на использование PerSession
. Я предполагаю, что он использует пул потоков для обработки запросов.