使用异步和等待的MVC操作

时间:2013-09-30 16:03:36

标签: c# asp.net-mvc asp.net-mvc-4 async-await

我在MVC3应用程序(VS2012中的空应用程序)中有以下操作,它只加载一个只有一个H2元素的Index页面。虽然这没有做任何事情,但我只是学习异步和等待功能。

索引页面未加载。我只是在浏览器中得到这个。

System.Threading.Tasks.Task`1 [System.Web.Mvc.ActionResult]

同样在小提琴手中我得到了蓝色的请求。我做错了什么。为什么视图没有出现。

异步调用成功并显示网站中的html内容。

查看代码:

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>


public async Task<ActionResult> Index()
        {
            Task<string> getContentsTask = GetContentsAsync();
            Thread.Sleep(10000);
            string contents = await getContentsTask;
            return View("Index");
        }

        async Task<string> GetContentsAsync()
        {

            HttpClient client = new HttpClient();
            Task<string> contents = client.GetStringAsync("http://www.msdn.com");

            string data = await contents;
            return data;
        }

1 个答案:

答案 0 :(得分:5)

MVC3无法识别Task s。

升级到MVC4。