Отсутствие телеметрии зависимостей SQL после перехода на Microsoft.Data.SqlClient

Я разрабатываю несколько веб-служб ASP.NET, которые используют SQL Server для хранения и Azure Application Insights для телеметрии. Я не получал полный текст команды SQL в телеметрии зависимостей при локальном запуске служб под IISExpress (хотя я видел имена хранимых процедур при вызове SP), поэтому я следовал совет в документации для этого сценария и перенесен из System.Data.SqlClient в новый пакет Microsoft.Data.SqlClient.

Теперь я не вижу телеметрии зависимостей SQL от каких-либо компонентов, использующих Microsoft.Data.SqlClient. Это не тот результат, на который я надеялся.

До изменения sdkVersion в телеметрии зависимостей было «rddf: 2.11.2-28447». В документации сказано, что я должен видеть здесь префикс «rddp:», но, поскольку никакой телеметрии SQL больше нет, мне нечего проверять.

Одна служба использует некоторый код из Microsoft.AspNet.Identity.EntityFramework, который продолжает использовать System.Data.SqlClient (не знаю, как это изменить). Телеметрия зависимостей SQL все еще генерируется для этих классов, но, конечно, не включает полный текст команды и по-прежнему имеет префикс версии SDK «rddf:».

Что мне нужно сделать, чтобы получить телеметрию зависимостей SQL, которая включает полный текст команды?

Некоторые детали:

  • .NET Framework 4.7.2
  • Microsoft.ApplicationInsights.Web 2.11.2
  • Microsoft.ApplicationInsights.DependencyCollector 2.11.2
  • Microsoft.Data.SqlClient 1.0.19269.1. Более новые версии (1.1.x) требуют обновления Microsoft.IdentityModel.JsonWebTokens, которое я не могу принять в настоящее время.

person Bob Meyers    schedule 21.05.2020    source источник
comment
Здравствуйте, если ответ полезен, не могли бы вы принять его как ответ? Спасибо.   -  person Ivan Yang    schedule 27.05.2020
comment
Вы также можете следовать инструкциям в этой проблеме с github.   -  person Ivan Yang    schedule 29.06.2020
comment
Проблема все еще существует с Microsoft.Data.SqlClient 2.0   -  person Nicolas    schedule 09.08.2020
comment
Хорошо работает с Microsoft.Data.SqlClient 1.1.3   -  person Nicolas    schedule 09.08.2020


Ответы (1)


Он не может включать полный текст команды sql, если вы используете Microsoft.Data.SqlClient 1.0.19269.1. По этому поводу существует проблема.

В моем веб-проекте .net 4.7.2 я использую Microsoft.Data.SqlClient 1.1.0. Можно включить полный текст команды sql. Снимок экрана, как показано ниже:

введите здесь описание изображения

Другие пакеты nuget, которые я использую:

Microsoft.ApplicationInsights.Web 2.11.0

Microsoft.ApplicationInsights.DependencyCollector 2.11.0

Microsoft.ApplicationInsights 2.14.0

person Ivan Yang    schedule 26.05.2020