Asp.net-Mvc

非同步 ASP.NET MVC 4 操作的名稱中是否需要“非同步”後綴?

  • March 18, 2016

給定以下 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”後綴才能非同步執行該操作?

不,這不是要求。

按照慣例,您將“Async”附加到具有 Async 或 async 修飾符的方法的名稱中。

您可以忽略事件、基類或介面協定建議不同名稱的約定。例如,您不應重命名常見的事件處理程序,例如 Button1_Click。

來源:MSDN:使用 Async 和 Await C# 進行非同步程式 -> 命名約定

雖然這不是必需的,但我喜歡遵循約定並在我的非同步方法上看到“…Async”後綴,所以我傾向於使用該ActionName屬性來用非非同步名稱裝飾控制器操作,這樣你就可以擁有你的蛋糕也吃吧:)

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

我覺得這很好用。

引用自:https://stackoverflow.com/questions/14652773