如何在WPF中存储当前登录的用户
本文关键字:登录 用户 存储 WPF | 更新日期: 2023-09-27 18:11:37
我有一个带有登录屏幕的应用程序,我想这是一个相当典型的场景。在用户获得身份验证后,我需要以某种方式存储他,因为我将不得不根据他的权限等采取行动。当然,还会有更多的属性需要存储。
实现这一目标的best
方法是什么?我目前正在评估两个选项:
1.)使用一个单例(或静态属性),并在我的viewmodels
中引用它2.)使用App.Current.Properties
并将其存储在那里。然后也许可以使用一些静态助手方法在整个应用程序中更容易和一致地检索用户
或者是否有其他选择可以考虑?谢谢你的建议。
使用MEF和[Import]已验证的用户界面到您的视图模型中。通过这种方式,对象可以使用全局资源,负责管理资源的是框架而不是代码。这比您建议的任何一种解决方案引入的耦合都要少,这将有助于单元测试。
Silverlight的Prism框架是基于MEF的,应该能适应WPF。
MEF是依赖注入。通过将所需的接口映射到具体类的实例,让MEF负责解析依赖关系。创建一个IAuthenticatedUser接口,其中包含设置和检索标识的方法。您创建一个实现接口的模型类,并将其导出到MEF。您的登录ViewModel和任何其他需要标识的ViewModel导入接口。MEF在创建视图模型时将视图模型连接到实现类的实例。您的ViewModels根据需要使用接口。