我有以下用于 APM 事务的 c# 代码:
如果我使用 Task.Run 并调用 transaction.End 我看不到 APM 日志。
var transaction = Elastic.Apm.Tracer.StartTransaction("My Transaction", ApiConstants.Request);
Task.Run(() => {
//Do work //
// end //
transaction.End();
});
如果我不使用 Task.Run,我会在结束事务后看到日志。
var transaction = Elastic.Apm.Tracer.StartTransaction("My Transaction", ApiConstants.Request);
//Do work //
// end //
transaction.End();
我在这里做错了什么?我猜它与AsyncLocal 有关。