【问题标题】:Transform Aspx to Windows Form Application将 Aspx 转换为 Windows 窗体应用程序
【发布时间】:2017-02-09 07:17:27
【问题描述】:

我得到了“https://www.youtube.com/watch?v=SIs7ZsMCUWA&t=327s”中的链接

我想从aspx改成winform

问题:

在 aspx 中

 protected void Page_Load(object sender, EventArgs e)
    {
            if (Session["TokenQueue"] == null)
            {
                Queue<int> queueTokens = new Queue<int>();
                Session["TokenQueue"] = queueTokens;
            }

    }

    protected void btnPrinToken_Click(object sender, EventArgs e)
    {
        Queue<int> tokenQueue = (Queue<int>)Session["TokenQueue"];
        lblStatus.Text = " Terdapat " + tokenQueue.Count.ToString() + " Antrian ";

        if (Session["LastTokenNumberIssued"] == null)
        {
            Session["LastTokenNumberIssued"] = 0;
        }

        int nextTokenNumberTobeIssued = (int)Session["LastTokenNumberIssued"] + 1;
        Session["LastTokenNumberIssued"] = nextTokenNumberTobeIssued;
        tokenQueue.Enqueue(nextTokenNumberTobeIssued);

        AddTokensToListBox(tokenQueue);
    }

在 c# 中无法读取会话?

Session["TokenQueue"] = queueTokens;

如何在c# winform中使用session?

【问题讨论】:

  • Session 是特定于 aps.net 和 web 应用程序的东西

标签: c# asp.net winforms queue transform


【解决方案1】:

会话通常可以帮助我们在 Web 应用程序的多个页面中维护用户的信息。当您将任何 Web 应用程序转换为 Windows 应用程序时,您需要了解 Web 应用程序的某些方面。因为会话在大多数 Web 应用程序框架中都很常见。您可以通过任何语言的静态变量来实现相同的行为。在 C# 中,您可以创建一个类来将此类信息保存在像这样的静态变量中

internal static class SESSIONWINFORM
    {
        public static string TokenQueue = string.Empty;
        public static DateTime LastLogin = DateTime.MinValue;
        // more variables as you needed

    }

然后您在 Windows 应用程序的特定事件中分配这些变量值,例如在登录方法中以像这样保存登录时间

       protected bool login(string username, string password) {

            if (succesfullLogic)
            {
                SESSIONWINFORM.LastLogin = DateTime.Now;   
                ....
            }
        }

并在 Label1 中显示用户他在 WinForm 中的最后一次登录。你可以这样设置文本

  Label1.Text = SESSIONWINFORM.LastLogin;

【讨论】:

    【解决方案2】:

    您不需要会话,因为 Windows 应用程序在用户上下文中运行。始终只有一个用户。

    我建议将变量设置为静态变量,因为它确实在会话的生命周期内共享,就像在 ASP.NET 中一样。如果您在 Winforms 项目中创建 Session 类并模仿会话行为会怎样?这样可以更轻松地在项目之间交换代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-09-24
      • 1970-01-01
      • 2011-02-01
      • 2010-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多