相关疑难解决方法(0)

这个异步任务方法有什么问题?

这只是一个简单的异步任务,但我总是遇到奇怪的编译器错误.此代码来自ASP.NET 4项目中的Web API服务,使用VS2010创建.

甚至ContinueWith(非泛型)也会隐式返回Task,但此错误仍然存​​在.

码:

public class TestController : ApiController
{
       public Task<HttpResponseMessage> Test()
       {
            string url = "http://www.stackoverflow.com";
            var client = new HttpClient();

            return client.GetAsync(url).ContinueWith<HttpResponseMessage>((request) =>
            {
                // Error 361 'System.Threading.Tasks.Task' does not contain a definition
                // for 'Result' and no extension method 'Result' accepting a first argument
                // of type 'System.Threading.Tasks.Task' could be found
                // (are you missing a using directive or an assembly reference?)
                var response = request.Result;
                response.EnsureSuccessStatusCode();

                // Error 364 Cannot implicitly convert type 'System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>' …
Run Code Online (Sandbox Code Playgroud)

c# task-parallel-library async-await asp.net-web-api

5
推荐指数
1
解决办法
1万
查看次数