这是第一次在.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);
}
...
}
答案 0 :(得分:2)
它还没有识别&#34; ReadAsAsync&#34;。
这是您的主要问题。 ReadAsAsync<T>()
扩展方法是HttpContentExtensions
类的一部分,该类位于System.Net.Http.Formatting.dll
程序集中。确保您已将System.Net.Http.Formatting
的引用添加到项目中。