gpt4 book ai didi

c# - 如何在 WPF 中存储当前登录的用户

转载 作者:行者123 更新时间:2023-12-03 10:29:09 24 4
gpt4 key购买 nike

关闭。这个问题是opinion-based .它目前不接受答案。












想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它.

3年前关闭。




Improve this question




我有一个带有登录屏幕的应用程序,我猜这是相当典型的场景。用户通过身份验证后,我需要以某种方式存储他,因为我必须根据他的权限等采取行动。当然还会有更多的属性要存储..

什么被认为是 best实现这一目标的方法?我目前正在评估两种选择:

1.)使用单例(或静态属性)并在我的 View 模型中引用它

2.) 使用 App.Current.Properties并将其存储在那里。然后可能使用一些静态辅助方法在整个应用程序中更轻松、更一致地检索用户

或者也许还有其他选择可以考虑?谢谢你的建议。

最佳答案

使用 MEF 并将经过身份验证的用户界面 [导入] 到您的 View 模型中。这样,您就拥有了可用于对象和框架的全局资源,而不是您的代码负责管理资源。这比您建议的任何一个解决方案都引入了更少的耦合,这将有助于单元测试。

Prism framework for Silverlight基于MEF,应该可以适配WPF。

MEF 是依赖注入(inject)。您通过将所需接口(interface)映射到具体类的实例来让 MEF 负责解决依赖关系。您使用设置和检索身份的方法创建一个 IAuthenticatedUser 接口(interface)。您创建一个实现接口(interface)并将其导出到 MEF 的模型类。您的登录 ViewModel 和任何其他需要身份的 ViewModel 导入接口(interface)。 MEF 在创建 View 模型时将它们连接到实现类的实例。您的 ViewModel 会根据需要使用接口(interface)。

关于c# - 如何在 WPF 中存储当前登录的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16323026/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com