using System;
using System.Threading;
using System.Threading.Tasks;
var local = new AsyncLocal<int>();
Console.WriteLine($"Before: {local.Value}");
await Bleed();
Console.WriteLine($"After: {local.Value}");
Task Bleed()
{
local.Value = 10;
return Task.CompletedTask;
}