Sobes.tech
Junior — Middle

Ինչպե՞ս կարելի է լրացուցիչ ընդլայնել վերահսկիչի գործառույթը։

sobes.tech AI

Պատասխան AI-ից

C#-ում վերահսկիչները (օրինակ, ASP.NET Core-ում) կարող են տարբեր եղանակներով ընդլայնվել:

  • Ներառում: ստեղծեք դաս, որը ժառանգում է հիմնական վերահսկիչից և ավելացնում կամ վերագրում մեթոդներ:
  • Ֆիլտրեր: օգտագործեք ֆիլտրիատրիբուտներ (օրինակ, ActionFilter, AuthorizationFilter)՝ ավելացնելու համար տրամաբանություն վերահսկիչի գործողությունների առաջ կամ հետո:
  • Միջանկյալ ծրագրակազմ (Middleware): ավելացրեք միջանկյալ ծրագրակազմ, որը մշակվում է հարցումները՝ նախքան հասնել վերահսկիչին:
  • Ընդլայնման մեթոդներ: ավելացրեք ընդլայնման մեթոդներ վերահսկիչի կամ նրա հիմնական դասի համար:
  • Վերաբերման ծառայությունների ներդրում: միացրեք լրացուցիչ ծառայություններ, որոնք ընդլայնում են գործառույթը:

Օրինակ՝ ֆիլտրի օգտագործման օրինակ:

public class LogActionFilter : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext context)
    {
        // Գործողության առաջ տրամաբանություն
        base.OnActionExecuting(context);
    }
}

[LogActionFilter]
public class MyController : Controller
{
    public IActionResult Index()
    {
        return View();
    }
}