1,
Mi az, hogy "keresztbe példányosítás"?
Ha öröklődéssel hoznál létre egy körkörös dependenciát (származtatott osztály ugye függ az ősosztályától), azt kódszerkesztési időben észrevenné a VS és nem tudsz eljutni oda, hogy futni tudjon a kódod és kivételt kapj mivel le sem forg fordulni. Tehát nem ez a hiba.
2,
Tehát akarsz egy ilyet: SQLiteService : CommonService { ...}
Aztán paraméter nélküli konstruktorral szeretnéd példányosítani:
SQLiteService()
Itt kódszervezési probléma van. Az ASP Net Core fő szervezési koncepciója a Dependency Injection. Mivel user kódot írsz és itt most nincsenek egyéb megfontolások ezért ezt az esetedben konstruktorral történő injekciót kéne jelentsen.
A Te SQLiteService osztályod azt állítja magáról, hogy ő nem függ senkitől és semmitől. Ami nonszensz.
Próbáld ki, csinálj egy unit teszt projektet, add hozzá az ASPs projektedet mint függőség és próbáld meg unit tesztből példányosítani és használni SQLiteService
-t.
Nyilván nem fog menni, mert szükség lenne az SQLite fájl útvonálára minimum, ami viszont konfigurációból (illene) jöjjön.
3,
Loggolás ugyanez pepitában.
ASP-ben a loggolás legegyszerűbb módja DI-jon keresztül van:
Logging in .NET Core and ASP.NET Core | Microsoft Learn
Szerintem az a baj, hogy a szervizeidben rejtett, implicit függőségek vannak amelyeket nem derítettél fel.
[ Szerkesztve ]