日期:2014-05-18  浏览次数:20695 次

static和Application的区别
C#中,static   变量不属于类的实例,也就是说该类的所有实例共享一个static变量
ASP.NET页面就是一个类,那么一个用户访问一个页面就是NEW一个类,那么和APPLICATION有什么去区别?
在网上搜索下,似乎最大的区别就是
Application是object有lock和unlock,对于值类型需要Box和unBox,性能影响较大.
Static是强类型的对象,任何用户都可以对该类型进行操作,也就是说存在线程安全问题.但又可以通过lock(typeof(classname))来锁定该变量所在的类的类型,从而达到类型安全的目的.
那按这么说,是不是static比Application好用?
或者只能说根据情况适当使用?那么又有什么情况可以使用?

------解决方案--------------------
没什么深入研究..只是一般都不用Application..用Static比较多
------解决方案--------------------
没有深入研究,我刚参加工作的时候,有人就和我说二个在web应用程序中是一样的..
------解决方案--------------------
两者的存储方式也不同,static是存储在堆柞中的,application默认应该是存储在内容中的吧(没查过)。而且两者的作用域也不同,static不一定是在每个页都起作用的,但application在每个页都可以用同一个实例。
------解决方案--------------------
yangjia21_2007() ( ) 信誉:100 2007-08-16 16:02:08 得分: 0


公司老人都告诉我不要用 Static 浪费性能
Application不太常用 就知道是应用程序级变量

____________________________________________________________________

why?