【发布时间】:2013-04-29 18:38:27
【问题描述】:
我已经下载了 Glimpse 和 Glimpse.ADO 扩展并将其安装在我的测试实例上。
我以为我会捕获任何已执行的 sql,但它似乎没有以我们编写代码的方式捕获命令。
using (var conn = new SqlConnection(cString))
{
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "Select count(*) from table";
cmd.CommandType = CommandType.Text;
txtResult2.Text = cmd.ExecuteScalar().ToString();
conn.Close();
}
我可以让它从测试页面中提供信息,其中的 sql 代码编写如下:
var factory =DbProviderFactories.GetFactory(cString.ProviderName);
using (var connection = factory.CreateConnection())
{
connection.ConnectionString = connectionString.ConnectionString;
connection.Open();
using (var command = connection.CreateCommand())
{
command.CommandText = "SELECT COUNT(*) FROM table";
command.CommandType = CommandType.Text;
txtResult1.Text = command.ExecuteScalar().ToString();
}
}
但是,如果我只能使用此 dbProviderFactories 方法捕获数据,我的代码中有太多地方需要更改。
有没有办法让 Glimpse.ADO 与 System.Data.SqlClient.SqlConnection 类一起工作?是否有另一个适用于此命名空间的 Glimpse 扩展?
还有其他方法可以解决这个问题吗?
【问题讨论】:
-
只是一个观察:如果您的代码中有太多地方以特定方式创建连接,这可能表明您的代码过于重复。
-
也许吧,但正如比我更聪明的人所说,“无论你在哪里,都必须从那里开始”
标签: asp.net sql-server diagnostics glimpse