asp.net で async と await を使用しようとしています。簡単にするために、私の目的は非同期的にメソッドを呼び出し、戻ったらUIのラベルのデータを更新することです。ここにdefault.aspxがあります
<form id="form1" runat="server">
<div>
<asp:Button runat="server" Text="click me" OnClick="asyncbtn_Click" id="asyncbtn" /><br />
<asp:TextBox runat="server" /><br />
<asp:Label runat="server" Text="[Result label]" ID="resultLabel"/>
<asp:Label runat="server" Text="[Result label]" ID="Label1"/>
</div>
</form>
コードビハインドファイル...
protected void asyncbtn_Click(object sender, EventArgs e)
{
RegisterAsyncTask(new PageAsyncTask(DoSomethingAsync));
}
public async Task<int> DoSomethingAsync()
{
await Task.Delay(10000);
resultLabel.Text = 20.ToString();
await Task.Delay(5000);
Label1.Text = 30.ToString();
return 0;
}
ボタンをクリックすると、ブラウザは DoSomethingAsync メソッド全体が完了するまで待機します。したがって、これは非同期呼び出しではなく同期呼び出しになると思います。
ここで何が問題なのか誰にも教えてもらえますか。