From 1896d747b2841143731a605513d72f7aab9d8440 Mon Sep 17 00:00:00 2001 From: wanggaofeng <15601716045@163.com> Date: Fri, 2 Feb 2024 12:09:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HttpClientStudy.Core/HttpError.cs | 37 +++++++++++++++++++---- HttpClientStudy.UnitTest/HttpErrorTest.cs | 8 +++++ 2 files changed, 39 insertions(+), 6 deletions(-) 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() {