From 1a1c8e71fcd14858f595029f089b2d4a00202b32 Mon Sep 17 00:00:00 2001
From: ogi <Administrator@S-OGI-PC>
Date: Fri, 05 Dec 2025 09:24:16 +0900
Subject: [PATCH] プロジェクトファイルを追加。
---
HotelPms.Client.Blazor/Util/GrpcSubDirHandler.cs | 69 ++++++++++++++++++++++++++++++++++
1 files changed, 69 insertions(+), 0 deletions(-)
diff --git a/HotelPms.Client.Blazor/Util/GrpcSubDirHandler.cs b/HotelPms.Client.Blazor/Util/GrpcSubDirHandler.cs
new file mode 100644
index 0000000..018e86a
--- /dev/null
+++ b/HotelPms.Client.Blazor/Util/GrpcSubDirHandler.cs
@@ -0,0 +1,69 @@
+#region Copyright notice and license
+
+// Copyright 2019 The gRPC Authors
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Net.Http;
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace HotelPms.Client.Blazor.Util
+{
+ /// <summary>
+ /// A delegating handler that will add a subdirectory to the URI of gRPC requests.
+ /// </summary>
+ public class GrpcSubDirHandler : DelegatingHandler
+ {
+ private readonly string _subdirectory;
+ private readonly IGlobalLoadingSpinner _loadingSpinnerService;
+
+ public GrpcSubDirHandler(HttpMessageHandler innerHandler, IGlobalLoadingSpinner loadingSpinnerService, string subdirectory) : base(innerHandler)
+ {
+ _subdirectory = subdirectory;
+ _loadingSpinnerService = loadingSpinnerService;
+ }
+
+ protected async override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
+ {
+ //发送请求之前显示加载指示器
+ //EnvironmentSetting.Debug($"ShowAsync begin:{DateTime.Now.ToString("HH:mm:ss fff")}");
+ //await _loadingSpinnerService.ShowAsync(); //0.5秒
+
+ EnvironmentSetting.Debug($"SendAsync begin:{DateTime.Now.ToString("HH:mm:ss fff")}");
+ //发送请求
+ if (request.RequestUri != null && _subdirectory.Length > 0)
+ {
+ var url = $"{request.RequestUri.Scheme}://{request.RequestUri.Host}{_subdirectory}{request.RequestUri.AbsolutePath}";
+ EnvironmentSetting.Debug($"SendAsync Url⇒{url}");
+ request.RequestUri = new Uri(url, UriKind.Absolute);
+ }
+ else
+ {
+ EnvironmentSetting.Debug($"SendAsync Url⇒{request.RequestUri.AbsolutePath}");
+ }
+ var response = await base.SendAsync(request, cancellationToken);
+
+ EnvironmentSetting.Debug($"SendAsync End:{DateTime.Now.ToString("HH:mm:ss fff")}");
+ //收到结果之后隐藏加载指示器
+ //await _loadingSpinnerService.HideAsync();
+ //EnvironmentSetting.Debug($"HideAsync End:{DateTime.Now.ToString("HH:mm:ss fff")}");
+ return response;
+ }
+ }
+}
--
Gitblit v1.10.0