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
     ///     <item>
     ///         <term>Try Catch 方式</term>
     ///         <description>(适用外部)</description>
-    ///     </item>
-    ///         <item>
-    ///             <term>使用 Polly 类库</term>
-    ///             <description>(更多功能)</description>
-    ///         </item>
-    ///     </list>
+    ///      </item>
+    ///      <item>
+    ///         <term>HttpClient 管道</term>
+    ///         <description>(统一处理)</description>
+    ///      </item>
+    ///      <item>
+    ///         <term>使用 Polly 类库</term>
+    ///         <description>(更多功能,也可结合HttpClient管道)</description>
+    ///      </item>
+    /// </list>
     /// </summary>
     /// <remarks>
     ///  简化处理
@@ -47,6 +51,27 @@ namespace HttpClientStudy.Core
             return response.StatusCode;
         }
 
+        /// <summary>
+        /// 没有服务(WebApi服务未启动)
+        /// </summary>
+        /// <returns></returns>
+        public async Task<HttpStatusCode> NoServiceAsync()
+        {
+            try 
+            {
+                var response = await HttpClient.GetAsync("http://localhost:30");
+            }
+            
+            catch (Exception ex)
+            {
+                // 捕获异常,处理
+                await Console.Out.WriteLineAsync(ex.Message );
+                throw;
+            }
+           
+            return HttpStatusCode.OK;
+        }
+
         /// <summary>
         /// 404错误
         /// </summary>
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<HttpRequestException>(func);
         }
 
+        [Fact]
+        public async Task NoService_Test()
+        {
+            Func<Task> func = _httpError.NoServiceAsync;
+
+            await Assert.ThrowsAsync<HttpRequestException>(func);
+        }
+
         [Fact]
         public async Task Http404_Test()
         {