解决方法:
我已经声明了一个类级公共静态变量,并在ASP.NET 3.5的环境中使用值0进行初始化 在加载事件I中,该变量增加1
问题:
Postback
,我得到该变量的最新值。
声明为STATIC
的变量,未被页面刷新和Postback
重置?你能帮忙吗?
答案 0 :(得分:5)
静态变量对整个AppDomain有效。当您关闭浏览器时,不会关闭应用程序,因为它继续在Web服务器上执行。哦,忘了提一下:尽量避免在没有正确锁定机制的情况下在多线程应用程序中使用静态变量,否则可能会遇到竞争条件。
答案 1 :(得分:4)
静态变量在应用程序域的持续时间内保留其值。
在重新启动Web服务器(IIS)或重新启动之前(当它决定需要刷新其使用的资源时),它将在许多浏览器会话中存活。
答案 2 :(得分:2)
静态变量对于有效 整个AppDomain。
关闭VS 2008 IDE和/或停止调试并不总是足以使托管您网站的AppDomain失败。 (即使网站托管在Vs 2008测试服务器中。
一个简单的解决方案就是“触摸”了 web.config文件。 (例如,添加一个空格 并保存它)
这将在新的app-domain中处理下一个请求。