asp.net-mvc - 异步 ASP.NET MVC 4 操作的名称中是否需要 "Async"后缀?

标签 asp.net-mvc asynchronous asp.net-mvc-4 async-await

给出以下 ASP.NET MVC 4 Controller 操作:

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”后缀,因此我倾向于使用 ActionName 属性来装饰 Controller 操作非异步名称,这样你就可以鱼与熊掌兼得:)

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

我发现这个效果很好。

关于asp.net-mvc - 异步 ASP.NET MVC 4 操作的名称中是否需要 "Async"后缀?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14652773/

相关文章:

ios - 在执行使用对 self 的强引用的 block 时更改 self 的 @property 值

c# - 批量运行异步任务

html - 如何在 asp.net mvc 中将搜索栏添加到布局 View ?

html - 中心导航栏 (ASP.NET MVC)

c# - IdentityServer3 和外部通过 OpenIDConnect 登录

javascript - 如何使用循环多次(同步)调用同一个异步函数?

c# - 在 asp.net mvc 中添加 BaseController 会出现错误

asp.net-mvc - MVC 4 - 注销后后退按钮问题

javascript - 用户单击后从生成的 ListView (jQuery Mobile) 中获取文本

javascript - Jquery ajax 按钮单击事件触发两次?