Kay*_*yes 1 c# asynchronous asp.net-mvc-4
我正在尝试测试我从这里阅读最多的 MVC4 异步控制器操作:http : //www.asp.net/mvc/tutorials/mvc-4/using-asynchronous-methods-in-aspnet-mvc-4
下面是我的控制器:
public class HomeController : AsyncController
{
//
// GET: /Home/
public async Task<ActionResult> Index()
{
WriteOnFile("Here dude. Time: " + DateTime.Now.ToString("HH:mm:ss:fff"));
await Task.Delay(10000);
return View();
}
private void WriteOnFile(string text)
{
using (Mutex mutex = new Mutex(false, "TempFile"))
{
mutex.WaitOne();
using (var writer = new StreamWriter(@"D:\Temp\temp.txt", true))
{
writer.WriteLine(text);
}
mutex.ReleaseMutex();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我正在通过打开指向 ~/home/index 的 5 个浏览器选项卡并一次刷新它们来测试这一点。
以下是我得到的输出:
时间戳相隔 10 秒。这意味着在前一个请求完成后处理每个请求。这就是同步控制器动作所做的,但我希望异步控制器动作能够在等待时处理请求。为什么 async 在上面的例子中不起作用?我做错了什么?
我在带有 .net 4.5 的 Windows 8.1 中使用 IIS 8.5。
提前致谢。
归档时间: |
|
查看次数: |
2120 次 |
最近记录: |