2012-11-09 22 views
9

MVC 4.0でSystem.Web.Mvc.AsyncControllerをチェックしたところ、「ASP.NET MVC 3との下位互換性のために提供されました」というコメントがあります。これはMVC 4に非同期コントローラの新しい実装があることを意味しますか? MVC 4.0で正しい方法は何ですか?コントローラを非同期にすると、I/Oの激しい操作をIIS要求スレッドプール以外のスレッドプールに置くことができますか?ASP.NET MVCの非同期コントローラ

答えて

12

ASP.NET MVC 4から始めて、あなたは今、基本クラスとしてSystem.Web.Mvc.Controllerクラスを使用してTAP(タスクベースの非同期パターン)を活用することができます:あなたがする必要はありません

public async Task<ViewResult> Index() { 

    return View(await GetThingsAsync()); 
} 

注意C#5.0に付属のasyncawaitキーワードを使用しますが、非同期プログラミングをはるかに簡単に、より保守性の高いものにします。

は、以下の記事を見てください:

+0

は 'async'と' await' C#4.5ではなく、5.0が付属していませんか? – Spook

+2

@Spook C#4.5はありません:https://en.wikipedia.org/wiki/C_Sharp_(programming_language)#Versions async/await言語サポートはC#5.0に付属しており、.NET 4.5も必要です。 .NET 4.0を使用して、BCLチームのNuGetパッケージでasync/await言語機能を活用することができます:http://www.nuget.org/packages/Microsoft.Bcl.Async/ – tugberk

関連する問題