我目前有一个ASP.NET Core的Blazor客户端(Wasm)。(均部署到Azure)
ASP.NET Core返回一个IActionResult,它在IActionResult中转换为HttpResponseMessage。
我想用ASP.NET触发的Azure函数交换我的。
Azure函数是.Net 5 (我不得不这样做,因为解决方案中的所有其他项目都是.Net 5)。
因为函数是用.Net 5编写的,所以返回一个HttpResponseData对象。
在我的HttpResponseData对象中,我有状态代码,我想在我的客户机中测试它,头数据,我需要访问它(总计计数),再加上包含我的数据列表的主体。
当我从我的Blazor客户端调用Azure函数时,我无法访问标头数据。
当我使用_httpClient.GetAsync方法时,我也有获取身体数据的问题。
我所能做的就是使用_httpClient.GetStringAsync方法。把我的数据从身体上拿出来。
但是,我也想要状态代码和头数据。
请看下面的代码。
public async Task<string> GetVpbDelegatesAsync2(int? pageNo, int? pageSize, string searchText)
{
var requestUri = $"{RequestUri.VpbDelegates}?pageNo={pageNo}&pageSize={pageSize}&searchText={searchText}";
var response = await _httpClient.GetAsync(requestUri);
//This line throws an exception. If I comment it out. I get my Body data
var total = response.Headers.GetValues("X-TotalCount").First();
return await _httpClient.GetStringAsync(requestUri);
}
所以我的问题是:
谢谢你的帮助。
编辑:只是为了那些在家里保持跟踪:我能够得到状态代码,但我仍然不能得到头数据。我在PostMan中做了同样的调用,头数据也在那里。
编辑2:我想出了如何将我的数据从正文/内容中提取出来。但仍然得不到头数据。
发布于 2021-08-27 05:40:54
HttpResponseData
对象仅在函数代码的上下文中。您的HttpClient
对象仍然会像@Greg提到的那样返回HttpResponseMessage
。
https://stackoverflow.com/questions/68642633
复制相似问题