C# ActiveX 中static变量缓存的问题
最近在忙活一个绘图程序,按照要求需要以ActiveX的方式发布在网站中,这个绘图程序的大概功能就是从数据库获取数据,成图。发布后用户反映,数据变化后,图形没有发生变化,好像有缓存,如果把浏览器全部关闭,重新打开,就可以了。
利用Fiddler跟踪了下,发现第二次成图(浏览器没有全部关闭全部页面)时,没有重新获取数据的操作,结合程序的逻辑,发现第二次成图时,访问了第一次程序时获取到的数据,而这些数据是以static形式存在,即使关闭了第一次成图的界面,这种情况仍然发生。
解决方法:重构将static去掉,问题解决。