diff --git a/HttpClientStudy.Core/HttpError.cs b/HttpClientStudy.Core/HttpError.cs index a9ce7c1..abff74f 100644 --- a/HttpClientStudy.Core/HttpError.cs +++ b/HttpClientStudy.Core/HttpError.cs @@ -18,12 +18,16 @@ namespace HttpClientStudy.Core /// /// Try Catch 方式 /// (适用外部) - /// - /// - /// 使用 Polly 类库 - /// (更多功能) - /// - /// + /// + /// + /// HttpClient 管道 + /// (统一处理) + /// + /// + /// 使用 Polly 类库 + /// (更多功能,也可结合HttpClient管道) + /// + /// /// /// /// 简化处理 @@ -47,6 +51,27 @@ namespace HttpClientStudy.Core return response.StatusCode; } + /// + /// 没有服务(WebApi服务未启动) + /// + /// + public async Task NoServiceAsync() + { + try + { + var response = await HttpClient.GetAsync("http://localhost:30"); + } + + catch (Exception ex) + { + // 捕获异常,处理 + await Console.Out.WriteLineAsync(ex.Message ); + throw; + } + + return HttpStatusCode.OK; + } + /// /// 404错误 /// diff --git a/HttpClientStudy.UnitTest/HttpErrorTest.cs b/HttpClientStudy.UnitTest/HttpErrorTest.cs index 97b00fd..a8acd63 100644 --- a/HttpClientStudy.UnitTest/HttpErrorTest.cs +++ b/HttpClientStudy.UnitTest/HttpErrorTest.cs @@ -24,6 +24,14 @@ namespace HttpClientStudy.UnitTest await Assert.ThrowsAsync(func); } + [Fact] + public async Task NoService_Test() + { + Func func = _httpError.NoServiceAsync; + + await Assert.ThrowsAsync(func); + } + [Fact] public async Task Http404_Test() {