C# 首次设置后,Thread.CurrentPrincipal.Identity发生更改

C# 首次设置后,Thread.CurrentPrincipal.Identity发生更改,c#,wpf,windows-principal,C#,Wpf,Windows Principal,我有一个简单的wpf示例(一个带有按钮的窗口)。我在构造函数中设置Thread.CurrentPrincipal,如下所示: //my Window constructor public Window1(){ InitializeComponent(); Thread.CurrentPrincipal = new WindowsPrincipal(WindowsIdentity.GetCurrent()); } 我注意到Thread.CurrentPrincipal是正确的 我在butt

我有一个简单的wpf示例(一个带有按钮的窗口)。我在构造函数中设置Thread.CurrentPrincipal,如下所示:

//my Window constructor
public Window1(){
InitializeComponent();
Thread.CurrentPrincipal = new WindowsPrincipal(WindowsIdentity.GetCurrent());   
}
我注意到Thread.CurrentPrincipal是正确的


我在buttonclick事件中放置了一个断点。单击按钮后,我检查了Thread.CurrentPrincipal,但它已更改,并且我的it标识名为空

您可以发布示例代码吗?还是那根线吗?当前线程的其他值是否仍然相同?例如,托管线程id?@nvoigt它只有此代码。我在构造函数中添加了thread.CurrentPrincipal.Identity.Name上的watch,我看到了我的windows用户名。单击按钮后,我的watch值为空…什么的构造函数?@Henkholtman我的窗口构造函数这有助于澄清这一点。还有关于通常在那里的InitializeComponent()(之前/之后/删除?)