Как Asynclocal <активность?> Работает с методом, отмеченным как асинхрон ⇐ C#

Место общения программистов C#
Anonymous
Как Asynclocal <активность?> Работает с методом, отмеченным как асинхрон

Сообщение Anonymous »

говорит, что у нас есть следующий код: < /p>

Код: Выделить всё

public class Worker
{
private static readonly ActivitySource Source = new ActivitySource("Worker");

public static void DoWork()
{
var work = Source.StartActivity();
//  ActivitySamplingResult.AllData
};

ActivitySource.AddActivityListener(listener);

Worker.DoWork();
Worker.DoWork();
}
}
Итак, во втором вызове Worker.dowork () мы видим, что первое действие - это родитель второго действия, которое ожидается
, но если я изменяю общедоступную статическую void doWork () на общедоступную Async asy adowor Не понимаю.

Код: Выделить всё

public partial class Activity : IDisposable
{
private static readonly AsyncLocal s_current = new AsyncLocal();
// ...
}
Но метод Async не используется wait , так что var work = source.startactivity () синхронно работает между первым и вторым вызовом работника.dowork (), так почему второе действие все еще не имеет родителей?

Подробнее здесь: https://stackoverflow.com/questions/796 ... -called-wi

Вернуться в «C#»