在ASP.NET项目中使用SqlCommand和SqlConnection对象的最佳方法是什么?

问题描述

我将要发布我的第一个网站,我有点担心sqlCommandsqlConnection对象,它们占用了过多的内存空间,并且可能确实使服务器不堪重负。

实现轻巧快速SQL查询执行方法的最佳方法是什么?我知道我们需要对sqlCommand对象使用'using'语句,以便垃圾回收器更好地处理它,但是sqlConnection呢?我应该将我的sqlConnection对象保留在每个用户的会话存储中,还是应该为整个应用程序域创建一个静态的sqlConnection对象?

我应该每页保留sqlCommand个对象还是为每个事件创建一个sqlCommand并用cmd.dispose();关闭它,甚至不打扰,因为它将在离开本地部分时被丢弃

我只是想对这个问题有专家的意见。

预先感谢

解决方法

您应该为每个事件使用新的SqlCommand。完成后关闭它。

您必须使用单独的SqlConnection实例,因为如果碰巧同时执行了多个查询(在Web场景中很有可能),那么您将得到一个例外,该连接的先前命令没有执行此操作。还没有完成。 SqlConnection一次只能支持一个命令。