Junior — Middle
Kuidas saab rakenduse kontrollerites sõltuvuste sisestamist rakendada?
sobes.tech AI
Vastus AI-lt
Sõltuvuste sisestamine (Dependency Injection, DI) C# rakenduse kontrolleritesse võib olla teostatav mitmel viisil:
- Konstruktoriga — kõige levinum ja soovitatav viis. Sõltuvused edastatakse kontrolleri konstruktorile parameetrite kaudu.
public class MyController : Controller
{
private readonly IService _service;
public MyController(IService service)
{
_service = service;
}
public IActionResult Index()
{
// Kasutades _service
return View();
}
}
- Oma omaduste kaudu (Property Injection) — sõltuvused määratakse kontrolleri omaduste kaudu. Vähem soovitatav, kuna sõltuvused võivad mitte olla õigel ajal initsialiseeritud.
public class MyController : Controller
{
[Inject]
public IService Service { get; set; }
}
- Meetodite kaudu (Method Injection) — sõltuvused edastatakse meetodite parameetritena kontrolleris.
public IActionResult Index([FromServices] IService service)
{
// Kasutades service
return View();
}
ASP.NET Core sisseehitatud DI konteiner toetab kõiki neid meetodeid, kuid konstruktoripõhine sisestus on kõige puhtam ja testimise jaoks mugavam.