From b2ad000e07e1c87d3561b5aa94fdc88c779872f0 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期二, 18 二月 2025 22:34:54 +0800
Subject: [PATCH] 1

---
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Core/Extensions/IpPolicyRateLimitSetup.cs |   43 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 43 insertions(+), 0 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Core/Extensions/IpPolicyRateLimitSetup.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Core/Extensions/IpPolicyRateLimitSetup.cs"
new file mode 100644
index 0000000..9684dfa
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Core/Extensions/IpPolicyRateLimitSetup.cs"
@@ -0,0 +1,43 @@
+锘縰sing Microsoft.AspNetCore.Http;
+using Microsoft.Extensions.Configuration;
+using Microsoft.Extensions.DependencyInjection;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_Core.Extensions
+{
+    /// <summary>
+    /// IPLimit闄愭祦 鍚姩鏈嶅姟
+    /// </summary>
+    public static class IpPolicyRateLimitSetup
+    {
+        public static void AddIpPolicyRateLimitSetup(this IServiceCollection services, IConfiguration Configuration)
+        {
+            if (services == null) throw new ArgumentNullException(nameof(services));
+
+            // needed to store rate limit counters and ip rules
+            //services.AddMemoryCache();
+
+            //load general configuration from appsettings.json
+            //services.Configure<IpRateLimitOptions>(Configuration.GetSection("IpRateLimiting"));
+
+            // inject counter and rules stores
+            //services.AddSingleton<IIpPolicyStore, MemoryCacheIpPolicyStore>();
+            //services.AddSingleton<IRateLimitCounterStore, MemoryCacheRateLimitCounterStore>();
+            //services.AddSingleton<IProcessingStrategy, AsyncKeyLockProcessingStrategy>();
+
+            // inject counter and rules distributed cache stores
+            //services.AddSingleton<IIpPolicyStore, DistributedCacheIpPolicyStore>();
+            //services.AddSingleton<IRateLimitCounterStore, DistributedCacheRateLimitCounterStore>();
+
+            // the clientId/clientIp resolvers use it.
+            //services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
+
+            // configuration (resolvers, counter key builders)
+            //services.AddSingleton<IRateLimitConfiguration, RateLimitConfiguration>();
+        }
+    }
+}

--
Gitblit v1.9.3