Hirdetés

2024. május 2., csütörtök

Gyorskeresés

Hozzászólások

(#9974) joysefke válasza Keem1 (#9972) üzenetére


joysefke
veterán
LOGOUT blog

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 ]

Copyright © 2000-2024 PROHARDVER Informatikai Kft.