每隔20秒查询数据库一次,内存不断在增长
一个监控程序,C#,每隔20秒查询数据库一次,数据量不大,可内存区不断在增长。 
 已经在每次查询完数据库后使用,内存回收了(代码如下),但效果不明显。   
 if   (dbConnection   !=   null) 
 { 
 dbConnection.Close(); 
 dbConnection   =   null; 
 } 
 if   (dbCommand   !=   null) 
 { 
 dbCommand.Dispose(); 
 dbCommand   =   null; 
 } 
 if   (dsResult   !=   null) 
 { 
 dsResult.Clear(); 
 dsResult.Dispose(); 
 dsResult   =   null; 
 } 
 if   (dataAdapter   !=   null) 
 { 
 dataAdapter.Dispose(); 
 dataAdapter   =   null; 
 } 
 GC.Collect(); 
------解决方案--------------------锁的问题/
------解决方案--------------------友情up
------解决方案--------------------1、为数据库打上最新的补丁   
 2、查查病毒   
 3、确认程序中的资源占用确实被释放,可以查看数据库的锁信息   
 4、排除以上原因,则是正常现象,可以为SQL Server设置最大使用内存选项来控制。
------解决方案--------------------非特殊情况,不要手动垃圾回收   
 如果需要网络连接数据库, 试一下使用web服务直接返回要检查的状态, web服务则调用数据库的存储过程   
 如果是本机需要20秒读一次,你可以设计为保持一个长连接
------解决方案--------------------一个监控程序,C#,每隔20秒查询数据库一次,数据量不大,可内存区不断在增长。 
 已经在每次查询完数据库后使用,内存回收了(代码如下),但效果不明显。   
 lz可以考虑用多线程来实现:利用多线程中锁的机制,在同一时刻只允许一个线程访问数据库,并及时释放数据库连接.