c# - 在`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
之后GetAsync
但false
之后ReadAsStringAsync
?
解决方案
调用后不必检查IsSuccessStatusCode
属性,调用后ReadAsStringAsync
一次client.GetAsync
就足够了。
ReadAsStringAsync
不会改变IsSuccessStatusCode
.
正如文档所述:
获取一个值,该值指示 HTTP 响应是否成功。
推荐阅读
- ios - StackView 中的 iOS UIButtons 没有被点击
- angular - Angular - 组件之间未传递服务数据
- c# - 有没有办法让我在没有窗口的情况下将图像绘制到我的屏幕上?
- hadoop - 多个连接与配置单元表上的计数
- laravel - 在 laravel 中为每个 crud 操作定义权限的位置
- python - 如何使用 groupby 按日历月显示标准偏差并绘制它?
- angular - Angular8 中的动态渲染
- laravel-5 - 完整性约束违规:1052 列“主题”在 where 子句中不明确
- php - LARAVEL 如何从公共文件夹中删除图像?
- common-lisp - 为 Peter Seibel 的 defclass 宏使用引用的插槽列表