Jas*_*n94 1 c# async-await dotnet-httpclient
我有以下内容,我尝试从服务器下载字符串:
HttpClient client = new HttpClient();
var getResponsestring = await client.GetStringAsync("url");
Run Code Online (Sandbox Code Playgroud)
但是我如何去做,如果服务器没有返回我想要的字符串,但例如错误401?或者那个mather的任何网络错误
Dar*_*ler 17
你有两个选择.要么将请求分解为两个步骤.
HttpClient client = new HttpClient();
var response = await client.GetAsync("url");
if (response.IsSuccessStatusCode) {
var getResponsestring = await response.Content.ReadAsStringAsync();
}
Run Code Online (Sandbox Code Playgroud)
或者您插入一个新的MessageHandler,它将返回错误的库存响应.
var errorMessageHandler = new ErrorMessageHandler(new HttpClientHandler());
HttpClient client = new HttpClient(errorMessageHandler);
var getResponsestring = await client.GetStringAsync("url");
Run Code Online (Sandbox Code Playgroud)
您必须通过从DelegatingHandler派生并重写SendAsync来自己实现ErrorMessageHandler.
| 归档时间: |
|
| 查看次数: |
4279 次 |
| 最近记录: |