首页 > 解决方案 > 在`ReadAsStringAsync`之后是否需要检查`IsSuccessStatusCode`?

问题描述

考虑:

HttpClient client = new HttpClient();
var response = await client.GetAsync("url");
if (response.IsSuccessStatusCode) return false;
var getResponsestring = await response.Content.ReadAsStringAsync();
// check response.IsSuccessStatusCode again ??

我现在需要IsSuccessStatusCode再次检查吗?还是异常处理涵盖了所有错误?

那是IsSuccessStatusCode可以true之后GetAsyncfalse之后ReadAsStringAsync

标签: c#dotnet-httpclient

解决方案


调用后不必检查IsSuccessStatusCode属性,调用后ReadAsStringAsync一次client.GetAsync就足够了。 ReadAsStringAsync不会改变IsSuccessStatusCode.

正如文档所述:

获取一个值,该值指示 HTTP 响应是否成功。


推荐阅读