我有一个运行.Net 4.5.2的WinForms应用程序。
登录时,我创建了一个包含大量声明的ClaimsPrincipal。我保存到Thread.CurrentPrincipal。在相同的登录过程中,ClaimsPrincipal工作正常。
在应用程序初始化之后,当用户单击一个控件时,我尝试从ClaimsPrincipal.Current中检索ClaimsPrincipal。当我这样做时,它是一个GenericPrincipal,它失去了所有的主张。
我做错了什么?
答案 0 :(得分:0)
这似乎是WinForms和.Net 4.5.2的问题。微软确实表示他们将停止支持WinForms。
我在这种情况下发现的是,如果在通过Thread.CurrentPrincipal设置它之前调用ClaimsPrincipal.Current,则会遇到麻烦。
静态对象被设置为默认的GenericPrincipal或者Thread.CurrentPrincipal被重置。
不稳定的原因是什么。