我不确切知道如何解释它,但基本上这是我的问题可以重现的方式:
- 在 VB.NET 中创建 WPF Windows 应用程序项目(不要创建,继续阅读,除非你不相信我......)
- 单击 Window 的标题以创建 Window.Loaded 事件处理程序并导航到它。
- 将以下内容添加到事件处理程序:
My.User.CurrentPrincipal = New GenericPrincipal( _
New GenericIdentity("username"), Nothing)
Dim authenticated = My.User.CurrentPrincipal.IsAuthenticated
MessageBox.Show(authenticated) 'True' - 返回到窗口设计器并在 Window1 中添加一个 Button。
- 单击 Button 以创建其 Click 事件处理程序并导航到它。
- 向其中添加以下内容:
Dim authenticated = My.User.CurrentPrincipal.IsAuthenticated
MessageBox.Show(authenticated) 'False' - 运行应用程序,查看结果
- 为什么现在它是假的!?!?
更新:我在http://connect.microsoft.com/WPF/feedback/ViewFeedback.aspx?FeedbackID=513731报告了一个错误,请投票或发布解决方法,并在您这样做时更新我,在此先感谢。
欢迎任何解决方法!