16

次の ASP.NET MVC 4 コントローラー アクションがあるとします。

public async Task<ActionResult> FooAsync()
{
    using (var httpClient = new HttpClient())
    {
        var responseMessage = await httpClient.GetAsync("http://stackoverflow.com");
        string response = await responseMessage.Content.ReadAsStringAsync();

        return Content(response);
    }
}

アクションを非同期で実行するには、 FooAsyncに"Async" サフィックスを付ける必要がありますか?

4

2 に答える 2

17

必須ではありませんが、慣例に従い、非同期メソッドに "...Async" サフィックスを付けるのが好きなので、このActionName属性を使用してコントローラー アクションを非非同期名で装飾する傾向があります。あなたのケーキも食べてください:)

[ActionName("Index")]
public async Task<ActionResult> IndexAsync()
{
    return View();
}

私はこれがうまくいくと思います。

于 2015-05-14T12:32:19.240 に答える
14

いいえ、これは必須ではありません。

慣例により、Asyncまたはasync修飾子を持つメソッドの名前に「Async」を追加します。

イベント、基本クラス、またはインターフェイスコントラクトが別の名前を提案するという規則は無視してかまいません。たとえば、Button1_Clickなどの一般的なイベントハンドラの名前を変更しないでください。

出典:MSDN:Async and Await C#を使用した非同期プログラミング->名前の付け方

于 2013-02-01T18:39:18.680 に答える