当用户连接到我的网络服务时,我将Thread.CurrentPrincipal
使用我的自定义上下文设置(messageinspector),然后可以在整个解决方案中使用它。
问题是是否Thread.CurrentPrincipal
需要将其设置为 null 还是仅在当前通话期间存在?
它似乎只持续当前通话,但我不确定这是否只是巧合?
最好的祝福
当用户连接到我的网络服务时,我将Thread.CurrentPrincipal
使用我的自定义上下文设置(messageinspector),然后可以在整个解决方案中使用它。
问题是是否Thread.CurrentPrincipal
需要将其设置为 null 还是仅在当前通话期间存在?
它似乎只持续当前通话,但我不确定这是否只是巧合?
最好的祝福
不,这不是巧合,当您的呼叫完成当前线程完成并且您不再拥有身份时,我发现了同样的情况。
此属性表示您当前的安全登录,因此可能不应设置为 null,除非您有特殊需要。在许多情况下这是合适的(例如网上银行),但否则您可能需要它来继续访问您需要访问的资源。
进一步阅读 MSDN 文章:http: //msdn.microsoft.com/en-us/library/system.threading.thread.currentprincipal.aspx