Junior — Middle
Πώς μπορεί να επεκταθεί περαιτέρω η λειτουργικότητα του ελεγκτή;
sobes.tech AI
Απάντηση από AI
Στην C#, οι ελεγκτές (π.χ. στο ASP.NET Core) μπορούν να επεκταθούν με διάφορους τρόπους:
- Κληρονομικότητα: δημιουργήστε μια κλάση που κληρονομεί από τον βασικό ελεγκτή και προσθέτει ή υπερκαλύπτει μεθόδους.
- Φίλτρα: χρησιμοποιήστε χαρακτηριστικά φίλτρων (π.χ.,
ActionFilter,AuthorizationFilter) για να προσθέσετε λογική πριν ή μετά την εκτέλεση των ενεργειών του ελεγκτή. - Middleware: προσθέστε middleware που επεξεργάζεται τα αιτήματα πριν φτάσουν στον ελεγκτή.
- Μέθοδοι επέκτασης: προσθέστε μεθόδους επέκτασης για τον ελεγκτή ή την βασική κλάση του.
- Εισαγωγή εξαρτήσεων: συνδέστε επιπλέον υπηρεσίες που επεκτείνουν τη λειτουργικότητα.
Παράδειγμα χρήσης φίλτρου:
public class LogActionFilter : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext context)
{
// Λογική πριν την εκτέλεση της ενέργειας
base.OnActionExecuting(context);
}
}
[LogActionFilter]
public class MyController : Controller
{
public IActionResult Index()
{
return View();
}
}