0
ASP.NET MVCで非同期メソッドを理解しようとしています。私は、私の意見では非同期に動作するはずのシンプルなコントローラを作成しました。 しかし、私が/
アクションを3つのタブで同時に実行すると、15,30、および45秒後に応答が得られます。 15,17,19秒というようにはならないのですか?同期と呼ばれるように私のアクションメソッドが同期して実行されているのはなぜですか?
public async Task<ActionResult> Index()
{
ViewBag.Title = DateTime.Now.ToLongTimeString();
await AsynchMethod();
ViewBag.Title += " - " + DateTime.Now.ToLongTimeString();
return View();
}
第一および第二の要求が見えますが、第三ません:
public class HomeController : Controller
{
public async Task<ActionResult> Index()
{
await AsynchMethod();
return View();
}
public async Task<ActionResult> About()
{
ViewBag.Message = "Your application description page.";
await AsynchMethod();
return View();
}
public async Task<ActionResult> Contact()
{
ViewBag.Message = "Your contact page.";
await AsynchMethod();
return View();
}
private Task AsynchMethod()
{
return Task.Delay(15000);
}
}
同じホスト(ローカルホスト)に対して(テスト実行時に)他のタブを開いていますか? – sellotape
婚約してくれてありがとう...私は私の混乱を解決したと思う。答えは以下の通りです。 –