tgoop.com/dotnetcode/3063
Last Update:
۱۲ قاعدهٔ طلایی برای ترتیب Middleware در ASP.NET Core
اگر میخواهید اپلیکیشن ASP.NET Core شما پایدار، امن و قابل توسعه باشد، رعایت ترتیب صحیح Middlewareها (میانافزارها) حیاتی است. در ادامه ۱۲ گام کلیدی را برایتان آوردهام:
1️⃣ UseForwardedHeaders()
اگر پشت پروکسی هستید، حتماً اول این middleware را اضافه کنید تا آدرس کلاینت درست شناسایی شود.
2️⃣ UseHttpsRedirection()
قبل از همهچیز، کاربر را به HTTPS هدایت کنید تا ارتباط امن باشد.
3️⃣ UseRouting()
قبل از هر middlewareی که به اطلاعات مسیر نیاز دارد، این یکی را فراخوانی کنید.
4️⃣ UseCors()
بلافاصله بعد از Routing، اما قبل از Authentication، سیاستهای CORS را اعمال کنید.
5️⃣ UseAuthentication()
تأیید هویت کاربران پیش از اعمال مجوزها باید رخ دهد.
6️⃣ UseAuthorization()
پس از Routing و Authentication بیاید تا قوانین دسترسی به درستی اجرا شود.
7️⃣ UseExceptionHandler()
نزدیک به بالای پشته برای گرفتن و مدیریت همه خطاها قرارش دهید.
8️⃣ UseRateLimiter()
اوایل pipeline تا از حملات DOS یا بار زیاد روی API جلوگیری کند.
9️⃣ UseResponseCompression()
بعد از Routing و پیش از endpoints تا پاسخها فشرده و کارایی بالاتر برود.
🔟 UseStaticFiles()
اگر فقط محتوای استاتیک میدهید، قبل از Routing قرارش دهید.
1️⃣1️⃣ Custom Middleware
(مثل Logging، Tracing و …) هر چه زودتر تا سراسر درخواست را پوشش دهد.
1️⃣2⃣ UseEndpoints()
حتماً آخرین Middleware باشد تا درخواستها به endpoint مناسب برسند و pipeline خاتمه یابد.
---
با رعایت این ترتیب:
• از بروز خطاهای عجیب جلوگیری میکنید
• پرفورمنس و امنیت اپلیکیشنتان بالاتر میرود
• نگهداری و توسعهٔ کد سادهتر خواهد شد
📚💻 @dotnetcode