最近做winfrom程序,因为以前做的是基于web的,所以总想找到类
Session的东西。
在网上找了一下资料,最终明白Winfrom根本就不需要类
Session,这也是B/S与C/S之间的一点差别。
以下是我找到的比较有说服力的解释:
webForm中,程序执行在Web服务器上,而界面执行在客户机的浏览器上,并且基本Web服务器是无状态的,因此ASP、ASP.Net等复杂而高级的服务机制为客户端维护
Session保存状态。
Web服务器和数据库服务器或者业务服务器之间,可不是用什么
Session来识别Web应用程序的客户身份的,而是直接查询数据库或者查询业务服务器的业务对象。
WinForm程序下载并且常驻客户端内存,不需要服务器来执行代码,在客户机器上运行的winForm就相当于在网站上运行的ASP.NET(而不是相当于客户机浏览器)。没有服务器端也就没有什么
Session的必要。
我自己的浅显理解就是:
web是多人同时访问一个程序,为分清到底是哪个人访问,用
Session来标注。
而Winform则是一人访问一个程序,在一个客户端只有一个使用者,所以不需要区分。
如果想得到一个全局变量可以使用以下方法:
在主窗体MainForm中定义一个private类型的静态变量lily(变量是自己定义的,lily is my name ),
private static int lily=100;
定义一个静态的属性:
public static int LILY
{
get
{
return lily;
}
}
在其它的窗体中可以这样引用:
MainForm.LILY;
MainForm.LILY;