Anforderungen: In ASP.NET Core verwenden wir normalerweise AddTransient, AddScoped und AddSingleton, um Services mit unterschiedlichen Lebenszyklen je nach Geschäft zu registrieren. Wenn das Projekt 100 Services registrieren muss (Datenbankzugriffsschicht, reguläre Objektnamensregeln), müssen wir 100 Codezeilen zum Register schreiben. Wie registrieren wir diese Services dynamisch oder mit Reflection?
Durch dynamische Reflexion benötigen wir nur wenige Codezeilen, um fertigzustellen, und wenn wir einen neuen Service erstellen (weil er bei dynamischer Registrierung auf neue Services gescannt wird), müssen wir ihn nicht mehr registrieren.
Das Prinzip des dynamischen Registrierungsdienstes besteht darin, den Builder anzurufen. Dienstleistungen. HinzufügenServiceDescriptorWeg.
Unsere Datenbankzugriffsschicht, Schnittstellenname: IClassificationService, der Objektname der Implementierungsschnittstelle: ClassificationService, der Name der Datenbankzugriffsschicht wird von "Service" gefolgt, Sie können alle Datenbankzugriffsschichtdienste über diese Regel registrieren, der Code lautet wie folgt:
IClassificationService-Schnittstellencode:
ClassificationService-Code:
(Ende)
|