В конструкторе моего класса обслуживания WCF я устанавливаю текущий принципал равным принципалу, переданному в заголовке сообщения:
Thread.CurrentPrincipal = OperationContext.Current.IncomingMessageHeaders.GetHeader<BBPrincipal>("bbPrincipal", "ns");
Кажется, это работает нормально, но когда я ссылаюсь на принципала в методе, Thread.CurrentPrincipal вернулся к WindowsPrincipal.
Предположительно, метод стреляет по другому потоку. Как я могу убедиться, что метод использует основной набор в конструкторе службы?