我的异步MSTest测试中的Not Awaitable Type错误

时间:2014-04-14 06:21:23

标签: c# c#-4.0 async-await

这是第一次在.NET中使用async,所以我完全迷失在这里。

此外,我正在尝试在单元测试中使用HttpClient来调用我的WCF Web服务。我没有做正确的事,因为我得到“HttpResponseMessage”在下面是不可接受的。它也没有认识到“ReadAsAsync”。

我甚至不确定我是否正确这样做

       [TestMethod]
        public async Task GetTest_RestEndpoint_ListOFInventoryReturnedIsNotNull()
        {
            // Arrange
                using (var client = new HttpClient())
                {
                    client.BaseAddress = new Uri("http://localhost/Inventory/");
                    client.DefaultRequestHeaders.Accept.Clear();
                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                    // HTTP GET
                    HttpResponseMessage response = await client.GetAsync("?memberid=323&count=12&pagenumber=1&sortorder=2&eventId=1211");
                    if (response.IsSuccessStatusCode)
                    {
                        InventoryResponse inventoryResponse = await response.Content.ReadAsAsync<InventoryResponse>();
                        Console.WriteLine("{0}\t${1}\t{2}", inventoryPostResponse.EventID);
                    }
...
}

1 个答案:

答案 0 :(得分:2)

  

它还没有识别&#34; ReadAsAsync&#34;。

这是您的主要问题。 ReadAsAsync<T>()扩展方法是HttpContentExtensions类的一部分,该类位于System.Net.Http.Formatting.dll程序集中。确保您已将System.Net.Http.Formatting的引用添加到项目中。