当前位置: 代码迷 >> ASP.NET >> 蛮急公共模块并发操作,该如何处理
  详细解决方案

蛮急公共模块并发操作,该如何处理

热度:8394   发布时间:2013-02-26 00:00:00.0
蛮急~~~~~~~~~~~公共模块并发操作
我有个页面是动态的Gridview,通过传递的参数来显示不同的数据表
传递来的参数从Request中获取,我把生成的datatable声明成static的
然后参数变更的时候重新查找数据库,但是当用户在不同的数据表,同时查询的时候
就会产生并发,怎么解决呢?我留下QQ希望有解决方案的加一下我,QQ:20808165
谢谢了啊,急着等方案


------解决方案--------------------------------------------------------
除非全局变量(比如连接字符串),在ASP.NET中是不能使用static的,这会导致任何一个用户的改变会影响所有用户。
------解决方案--------------------------------------------------------
一个懂行的程序员看到static就想到其业务领域的意义,而那些比较弱的程序员则只能想到性能而不会从应用领域看问题。
------解决方案--------------------------------------------------------
为什么把生成的datatable声明成static的?
------解决方案--------------------------------------------------------
不要用static,如果非用static的话,可以把它做成static方法,返回一个datatable
------解决方案--------------------------------------------------------
static Dictionary <string,DataTable> cache;

其中参数给出SessionID作为索引键。

从应用领域想问题,不是需要一个糊涂的缓存,而是要对每个操作会话分别有一个缓存。
  相关解决方案