Tach!
macht es überhaupt sinn, Dependency Injection wie unten angezeigt in einem Controller einzusetzen?
Das hängt davon ab, was man erreichen möchte.
Ich habe in meinem Controller so etwas wie unten, das via using programmiert ist. Mit using wird das Object "myClient" bekanntlich nach dem verlassen des using{}-Block zerstört.
Dann hast du einen Fall, bei dem du die Verwendung auf diese eine Stelle begrenzen kannst, und weißt, dass danach aufzuräumen ist.
using (MyClient myClient = new MyClient()) { var items = myClient.GetAll(); return items ; }
Was passiert aber, wenn man das using durch folgendes ersetzt:
readonly IMyClient _myClient; public MyController(IMyClient myClient) { _myClient = myClient; } var items = _myClient.GetAll(); return items
Dann hast du ein Objekt übergeben bekommen, das du mehrfach innerhalb des Controllers verwenden kannst. Soll es am Ende aufgeräumt werden, gibts es Dispose-Mechanismen. Die ASP.NET-MVC-Controller haben einen solchen zum Überschreiben an Bord.
Ist das überhaupt OK so? Mach so etwas Sinn? Oder soll man bei using bleiben?
Kann man (ich) nicht pauschal für alle Fälle beantworten.
dedlfix.