EntityFrameworkCore 记录警告“尝试关闭已被垃圾收集的跨度。查询编译器`

Posted

技术标签:

【中文标题】EntityFrameworkCore 记录警告“尝试关闭已被垃圾收集的跨度。查询编译器`【英文标题】:EntityFrameworkCore logs warnings `Trying to close a span that was already garbage collected. QueryCompiler` 【发布时间】:2022-01-03 13:22:42 【问题描述】:

我有典型的 .net5/6 Web 应用程序,它使用 EFCore 6.net6IMediatorPostgreSQL 作为 DB。此应用程序具有简单的 API 控制器,可将执行传递给 IMediator 管道。 相当典型的应用程序和堆栈,但我看到很多来自 EFCore 的警告消息:

[11:40:07 WRN] Trying to close a span that was already garbage collected. Connection
[11:40:07 WRN] Trying to close a span that was already garbage collected. QueryExecution
[11:40:07 WRN] Trying to close a span that was already garbage collected. QueryCompiler
[11:40:07 WRN] Trying to close a span that was already garbage collected. QueryExecution

在 Google 中没有任何关于它们的内容 - 这很奇怪 - 我是第一个遇到这种情况的人吗? 这些错误不会干扰应用程序的正常运行,但它们作为警告会令人讨厌,并使日志几乎无法读取。

您认为这可能是什么以及我可以如何调查此问题?

【问题讨论】:

【参考方案1】:

错误来自 EFCore 是错误的。我更改了日志模板,发现错误来自 Sentry。

16:05:24 [Warning] [Sentry.ISentryClient] Trying to close a span that was already garbage collected. QueryExecution

所以原因是在这个项目上启用了哨兵跟踪,这会导致很多这样的警告。会写的。

【讨论】:

以上是关于EntityFrameworkCore 记录警告“尝试关闭已被垃圾收集的跨度。查询编译器`的主要内容,如果未能解决你的问题,请参考以下文章

Entity Framework Core:使用 NOLOCK 读取和选择记录

如何解决 .net 核心构建错误 NETDSDK1061 和警告 MSB3277

Entity Framework Core 计数表和记录 Code-First Approach (MySQL)

来自 MYSQL 中某个范围的 Entity Framework Core 随机记录

Aspnetcore2.0中Entityframeworkcore及Autofac的使用(附Demo)

如何将错误和警告记录到文件中?