چگونه Middlewareهای سفارشی در ASP.NET Core بسازیم 🔧
معماری middleware در ASP.NET Core راهی قدرتمند برای ساخت و پیکربندی پایپلاین درخواست HTTP در اپلیکیشنهای شما ارائه میدهد. در این پست، شما بررسی خواهید کرد که middleware چیست و چگونه middlewareهای سفارشی در ASP.NET Core بسازید.
Middleware در ASP.NET Core چیست؟ 🤔
میدلور در ASP.NET Core یک کامپوننت نرمافزاری است که بخشی از پایپلاین اپلیکیشن است که درخواستها و پاسخها را مدیریت میکند. در ASP.NET Core چندین middleware وجود دارد که با یکدیگر در یک زنجیره ترکیب شدهاند. ⛓️
هر کامپوننت middleware در پایپلاین مسئول فراخوانی کامپوننت بعدی در توالی است. هر middleware میتواند در صورت لزوم با short-circuit کردن زنجیره، اجرای middlewareهای دیگر را متوقف کند. Middlewareها در ASP.NET Core یک پیادهسازی کلاسیک از الگوی طراحی chain of responsibility هستند.
ASP.NET Core
تعداد زیادی middleware داخلی دارد و بسیاری نیز توسط پکیجهای Nuget ارائه شدهاند. ترتیبی که middlewareها به پایپلاین اپلیکیشن اضافه میشوند، حیاتی است. ⚠️ این ترتیب تعریف میکند که چگونه درخواستهای HTTP ورودی از طریق پایپلاین عبور میکنند و پاسخها با چه توالیای بازگردانده میشوند.
میدلور ها به ترتیبی که به پایپلاین در آبجکت WebApplication اضافه شدهاند، اجرا میشوند.
چگونه یک Middleware سفارشی در ASP.NET Core بسازیم ✍️
شما میتوانید یک middleware سفارشی را به روشهای زیر ایجاد کنید:
1️⃣ ارائه یک delegate برای متد Use در کلاس WebApplication.
2️⃣ ایجاد یک کلاس Middleware بر اساس قرارداد (by convention).
3️⃣ ایجاد یک کلاس Middleware با ارثبری از اینترفیس IMiddleware.