次のコードを使用して、Glimpse.ADO を使用して Linq to SQL コマンドをプロファイリングしています。
var connection = new SqlConnection(connectionString);
var conn = new GlimpseDbConnection(connection);
context = new ApplicationDatabaseDataContext(conn, mappingSource);
上記のコードは問題なく動作し、HUD で SQL クエリを確認できます。
本番環境で Glimpse を無効にしたいので、web.config で次のコードを使用しています。
<glimpse defaultRuntimePolicy="Off">
ただし、GlimpseDbConnection を削除して、各クエリを監視する際の不要なパフォーマンスへの影響を防ぎたいと思います。理想的には、次のようなことができます。
if (Glimpse.Enabled)
{
var connection = new SqlConnection(connectionString);
var conn = new GlimpseDbConnection(connection);
context = new ApplicationDatabaseDataContext(conn, mappingSource);
}
else
{
context = new ApplicationDatabaseDataContext(connectionString, mappingSource);
}
明らかに Glimpse.Enabled は存在しませんが、同様のことができる方法はありますか?