Junior — Middle
Kontrolörün işlevselliği nasıl ek olarak genişletilebilir?
sobes.tech yapay zeka
AI'dan gelen yanıt
C#'ta denetleyiciler (örneğin, ASP.NET Core'da) birkaç şekilde genişletilebilir:
- Kalıtım: Temel denetleyiciden türeyen ve metodları ekleyen veya geçersiz kılan bir sınıf oluşturmak.
- Filtreler: Denetleyici eylemlerinin öncesinde veya sonrasında mantık eklemek için filtre öznitelikleri (örneğin,
ActionFilter,AuthorizationFilter) kullanmak. - Ortam Yazılımı (Middleware): Denetleyiciye ulaşmadan önce istekleri işleyen ara yazılım eklemek.
- Genişletme Metodları: Denetleyici veya temel sınıfı için genişletme metodları eklemek.
- Bağımlılık Enjeksiyonu: İşlevselliği genişleten ek servisleri bağlamak.
Filtre kullanımına örnek:
public class LogActionFilter : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext context)
{
// Eylem öncesi mantık
base.OnActionExecuting(context);
}
}
[LogActionFilter]
public class MyController : Controller
{
public IActionResult Index()
{
return View();
}
}