我对Visual Studio中的诊断工具没有多少经验,而且我用它来进一步使用IDE。
在我的应用程序中,我已经创建了自己的类来帮助解决任何与sql相关的问题,这个类当前在构造函数中创建了一个SqlCommand和SqlConnection,然后它将SqlConnection添加到SqlCommands.Connection然后存储这两个对象进入自己的财产。我会在帖子后面保持这个类,当一个页面需要我放置的命令对象时
SqlHelper Instance;
在cs文件的顶部,然后:
Page_Load:
if (Session["SQLH"] == null)
{
Instance = new SqlHelper();
Session["SQLH"] = Instance;
}
else
Instance = (SqlHelper)Session["SQLH"];
然后我就这样做了:
using(SqlCommand cmd = Instance.cmd)
{
// Do Stuff
}
(我不想听到任何像#34;等等等等垃圾收集很有效,做到这一点,做到这一点")
好的,现在问题,在调试我的应用程序时,我正在使用我的应用程序的内存使用量的snapsots,如果我搜索SqlCommand,则计数显示为8?如果我搜索SqlHelper(我的类),计数显示为1,我是否读错了结果或者??
我正在使用使用语句,我正在手动关闭我的连接。
Snap Shot示例:
管理内存:
对象类型:SqlCommand
数:8
尺寸:xBytes
包容大小:yBytes
如果我选择了objecttype,它会显示7个引用计数" DbCommandDefinition" ??和1个SqlHelper计数。