【问题标题】:Should I use AsyncController at ASP.NET MVC 4?我应该在 ASP.NET MVC 4 中使用 AsyncController 吗?
【发布时间】:2012-11-23 04:20:20
【问题描述】:

这个类有这样的描述:

Provided for backward compatibility with ASP.NET MVC 3.

来源只是:

public abstract class AsyncController : Controller
{
}

我在 MSDN 上找不到任何关于弃用此类的文档。我应该将 AsyncController 的使用替换为 Controller 吗?

【问题讨论】:

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


    【解决方案1】:

    我应该在 ASP.NET MVC 4 中使用 AsyncController 吗?

    没有。

    我应该将 AsyncController 的使用替换为 Controller 吗?

    是的,异步操作在 asp.net-mvc 4 中以新的方式实现,使用 Task Class

    结合 .NET 4.5 的 ASP.NET MVC 4 控制器类启用 您编写返回类型对象的异步操作方法 任务。 .NET Framework 4 引入了异步 称为任务的编程概念和 ASP.NET MVC 4 支持 任务。任务由任务类型和相关类型表示 System.Threading.Tasks 命名空间。 .NET Framework 4.5 建立在 使用 await 和 async 关键字的这种异步支持 使用 Task 对象比以前的异步要简单得多 方法。 await 关键字是用于指示的语法简写 一段代码应该异步等待另一段 代码。 async 关键字表示可用于标记的提示 方法作为基于任务的异步方法。等待的组合, 异步,Task 对象让你更容易编写 .NET 4.5 中的异步代码。异步方法的新模型 被称为基于任务的异步模式(TAP)。本教程 假设您对使用异步编程有一定的了解 await 和 async 关键字以及 Task 命名空间。

    更多阅读请访问Using Asynchronous Methods in ASP.NET MVC 4

    【讨论】:

    • 那么,答案是否定的?正确的?我不应该使用 AsyncController。我应该使用 Controller,因为“结合 .NET 4.5 的 ASP.NET MVC 4 Controller 类使您能够编写返回 Task 类型对象的异步操作方法”
    • 是的,答案是“否”。如果使用 .NET 4.5,使用 Tasks 比继承 AsyncController 更简单、更好
    • 如果不需要回调,Parallel.Invoke 似乎更简单。
    • TPL 给线程池带来了新问题,您应该注意线程不足等可伸缩性问题
    猜你喜欢
    • 2016-03-19
    • 1970-01-01
    • 1970-01-01
    • 2010-09-07
    • 2012-04-02
    • 2012-03-21
    • 2012-02-02
    • 1970-01-01
    相关资源
    最近更新 更多