これには、値はC
で利用できるような方法で方法B
内側に何かを格納する可能性があるAsyncLocalフローを兄弟にするにはどうすればいいですか?
static AsyncLocal<bool> _value = new AsyncLocal<bool>();
static void Main(string[] args)
{
A().Wait();
}
static async Task A()
{
await B();
await C();
}
static async Task B()
{
_value.Value = true;
}
static async Task C()
{
if (!_value.Value) throw new Exception();
}
私が動作することを期待し、非常に簡単な例ですが...?私はそれが非同期フロー(ThreadStatic
してください)だけを通過する必要があります。
はあなたがオプションではありませんなぜ静的について詳しく説明していただけますか? – Karolis
@Carl実際のアプリケーションでは、値はインスタンスフィールドに保持され、別々の非同期フローが入ってくる場合には別々にする必要があります。 – Vlad
'await C(await B());'?とにかくBが戻ってくるまでCは何の仕事もしないからです。 – Karolis