gpt4 book ai didi

c# - 在 Windows 应用程序中存储登录信息

转载 作者:行者123 更新时间:2023-11-30 21:25:35 24 4
gpt4 key购买 nike

在 Web 应用程序中,用户登录信息通常存储在 session 中,但 Windows 应用程序又如何呢?使用单例是正确的做法吗?我应该只使用静态属性吗?

假设我将登录信息存储在静态属性 ApplicationController 中。登录用户。当用户成功登录时,将设置该属性。在成功登录之前,LoggedInUser 返回 null。然后,当从我的 OrderListPresenter 类调用示例 OrdersService 时,我使用 LoggedInUser 作为参数。

var service = new OrdersService();
var orderCollection = service.GetOrdersByUserID(
ApplicationController.LoggedInUser.ID);

好的,这可行,但它也使编写单元测试变得更加困难。我不喜欢在我的单元测试中使用单例/静态成员。

也许我可以将 ApplicationController 注入(inject)到每个需要访问登录用户的类中?还有其他想法吗?

您认为处理此问题的最佳方法是什么?

最佳答案

我会创建一个包含 CurrentUser 字段的 CurrentContext 对象,并将其传递给我的所有演示者。

Avoid singleton ,这可能会给单元测试带来问题,或者如果您决定稍后扩展您的应用程序。

关于c# - 在 Windows 应用程序中存储登录信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/553544/

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