我的AllWebApiOperations类的代码是
public AllWebApiOperations(string apiURI)
{
client = new HttpClient();
client.BaseAddress = new Uri(apiURI);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
}
public async Task<string> GetDataAsync(string route)
{
string result= string.Empty;
HttpResponseMessage response = await client.GetAsync(route);
if (response.IsSuccessStatusCode)
{
result = await response.Content.ReadAsAsync<string>();
}
return result;
}
我点击按钮
来调用它 string apiURI = @"http://localhost:35487/";
private async void btnCallWebApi_Click(object sender, EventArgs e)
{
AllWebApiOperations op = new AllWebApiOperations(apiURI);
var result = await op.GetDataAsync(apiURI + "api/products/");
Console.WriteLine(result);
}
我的代码web api正常运行,如下所示
但是我在调用函数时遇到错误,如下所示
我不确定为什么我会收到此错误,尝试使用Google搜索但无法找到解决方案。
答案 0 :(得分:2)
找到答案:
public async Task<string> GetDataAsync(string route)
{
string result= string.Empty;
HttpResponseMessage response = await client.GetAsync(route);
if (response.IsSuccessStatusCode)
{
**result = await response.Content.ReadAsAsync<string>();**
}
return result;
}
我应该使用
**result = await response.Content.ReadAsStringAsync();**