给出以下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”后缀才能异步运行操作?
答案 0 :(得分:9)
虽然这不是必需的,但我喜欢遵循约定并在我的异步方法上看到“... Async”后缀,因此我倾向于使用ActionName
属性来装饰非操作的控制器操作异步名称,这样你就可以吃蛋糕了!)
[ActionName("Index")]
public async Task<ActionResult> IndexAsync()
{
return View();
}
我觉得这很好用。
答案 1 :(得分:8)
不,这不是必需的。
按照惯例,您将“Async”附加到具有的方法的名称 一个异步或异步修饰符。
您可以忽略事件,基类或接口的约定 合同提出了不同的名称。例如,您不应重命名 常见事件处理程序,例如Button1_Click。
来源:MSDN: Asynchronous Programming with Async and Await C# -> Naming Convetions