【问题标题】:Session for windows forms application in C#C# 中 Windows 窗体应用程序的会话
【发布时间】:2018-02-23 01:07:02
【问题描述】:

对于基于 Windows 的 C# 应用程序是否有一个会话来记录多个用户的登录和注销详细信息?

我尝试使用声明静态变量,但它与会话不同。

【问题讨论】:

  • 使用日志机制,例如 log4net。

标签: c# winforms session


【解决方案1】:

Windows 窗体中没有会话变量的概念。你可以这样做:

创建一个包含用户名和密码以及应用程序所需的任何其他变量的静态类。

在你的情况下,它会是这样的:

public static class LoginInfo
{
    public static string UserID;
}

现在您可以从代码中的任何位置轻松访问 UserID:

MessageBox.Show(LogInfo.UserID);

或登录后设置值,如:

LogInfo.UserID = TextBox1.Text;

【讨论】:

  • 嗨..如果我在两台不同的机器上安装了这个应用程序。当两台机器都被不同用户访问时,静态变量会与第一台机器相同吗?
  • 我不这么认为,bcos static 是“每个 AppDomain 的静态”,如果您的应用程序指向网络中所有已安装应用程序实例的数据库,请使用数据库存储技术。
  • G8 听起来像 Gate。也许你的意思是Gr8? :)
【解决方案2】:

不,在普通的 Windows 应用程序中没有会话变量(就像在 Web 应用程序中一样)。如果您需要为 Windows 应用程序进行日志记录,我同意之前写的评论以使用一些日志记录框架,如 log4net、NLog 或类似的东西。即使使用 Eventlogs 也是一种选择,但我不推荐它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-19
    • 1970-01-01
    相关资源
    最近更新 更多