Использование MiniProfiler для прямых вызовов ADO.net

Этот вопрос будет глупым для тех, кто разбирается в C# и профайлерах.

Я новичок в С# (в основном разработчик С++). Я могу профилировать запросы к базе данных, если они используют dbproviderfactory , но я не могу профилировать вызовы ado.net, когда они используются напрямую (необработанные SqlConnection и SqlCommand). Я наткнулся на код Miniprofiler, где они также профилируют прямые вызовы ADO.net. Я просто не знаю, как его использовать (интегрировать в свой профилировщик).

Мой код

        SqlConnection myConn = new SqlConnection(@"Server=192.168.23.99;Initial Catalog=cat1;User ID=user21;Password=userpwd");
        SqlCommand myCommand = new SqlCommand("select * from table1", myConn);
        SqlDataReader dataReader;

        System.Threading.Thread.Sleep(5000);
        try
        {
            myConn.Open();
            dataReader = myCommand.ExecuteReader();

            GridView1.DataSource = dataReader;
            GridView1.DataBind();
            dataReader.Close();
            myCommand.Dispose();
            myConn.Close();
        }
        catch (System.Exception ex)
        {
            Response.Write(ex.ToString());
        }

Когда приведенный выше код будет выполнен, как будут вызываться классы в MiniProfiler? Как сделать так, чтобы эти классы (надеюсь, имя класса SimpleProfiledDbCommand) вызывались, когда мое веб-приложение вызывает SqlCommand(..)?

Нужно лучшее разъяснение по этому поводу.


person Sel_va    schedule 21.01.2015    source источник


Ответы (1)


Согласно документации, вам необходимо обернуть SqlConnection предоставленным ProfiledDbConnection, способным отслеживать ваши запросы:

SqlConnection underlyingConn = new SqlConnection(@"Server=192.168.23.99;Initial Catalog=cat1;User ID=user21;Password=userpwd");

SqlConnection myConn = new StackExchange.Profiling.Data.ProfiledDbConnection(underlyingConn, MiniProfiler.Current);
person haim770    schedule 21.01.2015
comment
спасибо haim770.! Так это нельзя сделать во время выполнения.. обряд? - person Sel_va; 21.01.2015
comment
Я не так хорошо знаком с MiniProfiler, но я так думаю. - person haim770; 21.01.2015