Middleware در مقابل Filter
Middleware در Pipeline درخواست اجرا میشود، اما Filter مخصوص MVC Controllerها است.
| ویژگی | Middleware | Filter |
|---|---|---|
| سطح اجرا | کل Pipeline | MVC |
| وابستگی | ASP.NET Core | MVC |
| ترتیب اجرا | Pipeline Order | Filter Order |
| مناسب Auth | بله | بله |
| مناسب Validation | کمتر | بهتر |
کِی از Middleware استفاده کنیم؟
برای Logging، Authentication، Exception Handling عمومی.
کِی از Filter استفاده کنیم؟
برای Validation و Logic مربوط به Action.
مثال Middleware
app.UseMiddleware
مثال Filter
[Authorize] public IActionResult Index() { }
اشتباه رایج
قرار دادن Logic مربوط به Controller داخل Middleware.
جمعبندی
کل Request → Middleware
MVC Action → Filter
