C# Winform 下 不需要类Session

webForm中,程序执行在Web服务器上,而界面执行在客户机的浏览器上,并且基本Web服务器是无状态的,因此ASP、ASP.Net等复杂而高级的服务机制为客户端维护Session保存状态。
 
Web服务器和数据库服务器或者业务服务器之间,可不是用什么Session来识别Web应用程序的客户身份的,而是直接查询数据库或者查询业务服务器的业务对象。
 
WinForm程序下载并且常驻客户端内存,不需要服务器来执行代码,在客户机器上运行的winForm就相当于在网站上运行的ASP.NET(而不是相当于客户机浏览器)。没有服务器端也就没有什么Session的必要。
 
我自己的浅显理解就是:
web是多人同时访问一个程序,为分清到底是哪个人访问,用Session来标注。
而Winform则是一人访问一个程序,在一个客户端只有一个使用者,所以不需要区分。
 
如果想得到一个全局变量可以使用以下方法:
 定义一个类,增加public static全局变量:

namespace WindowsFormsApp1
{
    /// <summary>
    /// 保存当前登录的账号信息
    /// </summary>
   public class Account
    {
        /// <summary>
        /// 用户名
        /// </summary>
        public static string UserName = "";
        /// <summary>
        /// 密码
        /// </summary>
        public static string Password = "";
    }
}

其他类直接根据类名来调用这个static变量即可:

 private void button1_Click(object sender, EventArgs e)
        {
            Account.UserName = this.textBox1.Text;
            Account.Password = this.textBox2.Text;

            if (Account.UserName.Equals("7788") && Account.Password.Equals("1"))
            {
                MessageBox.Show("登陆成功");
                this.Hide();
                new LoginSuccess().Show();
            }
            else
            {
                MessageBox.Show("用户名或密码不正确!");
            }
        }

猜你喜欢

转载自blog.csdn.net/qq_20936333/article/details/81395589