TGViewer
C# Geeks (.NET) C# Geeks (.NET) @csharpgeeks · 549 subscribers
Post #295 99
چگونه 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.
More from @csharpgeeks
  1. Sep 22, 2026یه مدتی قراره از دنیای NET. فاصله بگیرم، چون وقتشه برم سربازی. راستش نمیدونم این مدت رو چج…
  2. Sep 20, 2026🔥 حالا مشکل اصلی: Alert Storm فرض کن Database از دسترس خارج شده. ۱۰۰ Pod داری. هر Pod می‌…
  3. Sep 20, 2026🚨 طراحی سیستم Monitoring و Alerting در یک سیستم بزرگ فرض کن ساعت ۳ صبح است. سیستم شما با…
  4. Sep 19, 2026#Engineering_Leadership تصمیم نگرفتن هم یک تصمیم است یه چیز عجیب توی تیم‌های مهندسی: گاهی…
  5. Sep 19, 2026☑ چک‌لیست آماده‌سازی تیم، فرایندها و زیرساخت برای توسعه با AI توجه: هیچ چک‌لیستی جهان‌شمول…
  6. Sep 19, 2026📌پایان یک انتظار طولانی: اعتبارسنجی ناهمگام (Async Validation) در NET 11.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →