在我的 WCF 服务类的构造函数中,我将当前主体设置为消息头中传递的主体:
Thread.CurrentPrincipal = OperationContext.Current.IncomingMessageHeaders.GetHeader<BBPrincipal>("bbPrincipal", "ns");
这似乎工作正常,但是当我在方法中引用主体时,Thread.CurrentPrincipal 已恢复为 WindowsPrincipal。
大概该方法是在不同的线程上触发的。如何确保该方法使用服务构造函数中设置的主体?