Я использую Glimpse.ADO для профилирования команд Linq to SQL, используя следующий код:
var connection = new SqlConnection(connectionString);
var conn = new GlimpseDbConnection(connection);
context = new ApplicationDatabaseDataContext(conn, mappingSource);
Приведенный выше код работает нормально, и я вижу SQL-запросы в HUD.
Я хотел бы отключить 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 не существует, но есть ли способ сделать что-то подобное?