asp.net - 迁移到 Microsoft.Data.SqlClient 后没有 SQL 依赖项遥测

标签 asp.net sql-server azure azure-application-insights sqlclient

我正在开发多个 ASP.NET Web 服务,这些服务使用 SQL Server 进行存储并使用 Azure Application Insights 进行遥测。在 IISExpress 下本地运行服务时,我没有在依赖项遥测中获得完整的 SQL 命令文本(尽管在调用 SP 时我确实看到了存储过程名称),因此我遵循了 advice in the docs对于这种情况,并从 System.Data.SqlClient 迁移到新的 Microsoft.Data.SqlClient 包。

现在我没有看到来自任何使用 Microsoft.Data.SqlClient 的组件的任何 SQL 依赖项遥测。这不是我所希望的结果。

更改之前,依赖项遥测中的 sdkVersion 为“rddf:2.11.2-28447”。文档说我应该在此处看到“rddp:”前缀,但由于不再有任何 SQL 遥测,因此我没有任何内容需要检查。

一项服务使用 Microsoft.AspNet.Identity.EntityFramework 中的一些代码,该代码继续使用 System.Data.SqlClient (不知道如何更改它)。仍在为这些类生成 SQL 依赖项遥测,但当然不包括完整的命令文本,并且仍然具有“rddf:”SDK 版本前缀。

我需要做什么才能获取包含完整命令文本的 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,但我目前无法更新。

最佳答案

如果您使用的是 Microsoft.Data.SqlClient 1.0.19269.1,则它无法包含完整的 sql 命令文本。有一个issue关于这一点。

在我的 .net 4.7.2 Web 项目中,我使用 Microsoft.Data.SqlClient 1.1.0。可以包含完整的 sql 命令文本。截图如下:

enter image description here

我正在使用的其他 nuget 软件包:

Microsoft.ApplicationInsights.Web 2.11.0

Microsoft.ApplicationInsights.DependencyCollector 2.11.0

Microsoft.ApplicationInsights 2.14.0

关于asp.net - 迁移到 Microsoft.Data.SqlClient 后没有 SQL 依赖项遥测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61938189/

相关文章:

azure - azure 上的 kudeadm k8s 集群

c# - 下拉列表未将 SelectedIndex 发送回 ASP.NET 中的服务器

c# - 使用 httpcontext 打开附件

javascript - jquery选择特定的id( parent ?)

c# - 为什么 sp_executesql 不返回结果而直接 SP 调用返回结果?

sql-server - SQL服务器设置失败: Oops ther was an error while checking the rules of sql server setup

asp.net - 类型或命名空间名称 'AspNet' 在命名空间 'Microsoft' 中不存在错误?

sql-server - 包含数据库的真正好处是什么

java - 将自定义参数添加到 Azure Blob SAS

azure - 使用 AzCopy 将表从 azure 复制到本地存储