我不确切知道如何解释它,但这里基本上是我的问题可以如何重现:
My.User.CurrentPrincipal = New GenericPrincipal( _
New GenericIdentity("username"), Nothing)
Dim authenticated = My.User.CurrentPrincipal.IsAuthenticated
MessageBox.Show(authenticated) 'True'
Dim authenticated = My.User.CurrentPrincipal.IsAuthenticated
MessageBox.Show(authenticated) 'False'
更新:我在http://connect.microsoft.com/WPF/feedback/ViewFeedback.aspx?FeedbackID=513731报告了一个错误,请投票或发布解决方法,并在您提交时更新我,提前感谢。
任何变通办法都会受到欢迎!
答案 0 :(得分:1)
我希望找到这种行为的确切解释,但没有这样的运气(还)。我认为我可以为你提供解决方法,即通过AppDomain.SetThreadPrincipal(通常是AppDomain。** CurrentDomain。** SetThreadPrincipal)分配自定义主体对象。
修改强>
事实证明有人在MSDN论坛上提到了这个问题。 discussion thread记录了我已经引用的解决方法,以及对行为的解释。