0

Mini Profiler のドキュメントでは、次のことができます。

public static DbConnection GetOpenConnection()
{
    var cnn = CreateRealConnection(); // A SqlConnection, SqliteConnection   ... or whatever

    // wrap the connection with a profiling connection that tracks timings 
    return new StackExchange.Profiling.Data.ProfiledDbConnection(cnn,     MiniProfiler.Current);
}

自分の DB 接続で Miniprofiler 実装の Servicestack バージョンを使用して、Servicestack でプロファイルされた db 接続を有効にするにはどうすればよいですか。servicestack の組み込み base.Db を使用する代わりに、接続文字列を返す関数があります。

public static DbConnection GetOpenConnection(string ConnectionName)
    {
        string provider = ConfigurationManager.ConnectionStrings[ConnectionName].ProviderName;
        string connectionstring = ConfigurationManager.ConnectionStrings[ConnectionName].ConnectionString;

        DbProviderFactory factory = DbProviderFactories.GetFactory(provider);
        DbConnection cnn = factory.CreateConnection();
        cnn.ConnectionString = connectionstring;
        cnn.Open();
        //this is ServiceStack current profiler for request and response DTO's
        Profiler profiler = Profiler.Current;
        // I want to return a profiled db connection here that will include the connection profiles into the current Profiler data.
        return cnn;

    }
4

1 に答える 1

1

Ormlite が行っていることと同じことを行い、接続を MiniProfiler でラップするだけですProfiledDbConnection。たとえば、次のようになります。

return new ProfiledDbConnection(cnn, Profiler.Current)
于 2015-12-21T23:29:59.853 に答える