我尝试了堆栈溢出中发布的解决方案,但没有一个起作用。 我有一个调用Web服务的方法。代码如下,并且我不断收到编译器错误。因此,我无法进一步测试出了什么问题。 代码如下:
public async Task<ActionResult <List<items>>>getitems()
{
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("https://localhost:5001/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));
var Res = await client.PostAsJsonAsync("api/sub", ids);
Res.EnsureSuccessStatusCode();
if (Res.IsSuccessStatusCode)
{
var Response = Res.Content.ReadAsStringAsync().Result;
var sub = JsonConvert.DeserializeObject<JArray>(Response);
List<items> item = sub.ToObject<List<items>>();
return Ok(item);
}
}
然后我从另一个类中调用该方法,如下所示
public async Task<List<items>> getService(List<string> ids)
{
var IdentificationIdsToOrder = new JObject();
foreach (var id in ids)
{
var newId = new JProperty("ids", id);
IdentificationIdsToOrder.Add(newId);
}
_controller = new getitems();
var Res = await _controller.getitems();
var ItemList = Res.Result;
return ItemList;
}
}
这里返回值有问题,我无法编译。 我想念的是什么?
答案 0 :(得分:1)
在getService
方法中,您应该使用var ItemList = Res.Value;
代替var ItemList = Res.Result;
public async Task<List<items>> getService(List<string> ids)
{
var IdentificationIdsToOrder = new JObject();
foreach (var id in ids)
{
var newId = new JProperty("ids", id);
IdentificationIdsToOrder.Add(newId);
}
_controller = new getitems();
var Res = await _controller.getitems();
var ItemList = Res.Value;
return ItemList;
}