Aktywne Wpisy

ziomgaltestowy +146
Zatrudnili u mnie zoomera i to ile on p----------a kasy to głowa mała. Jego zycie idealnie opisuje konsumpcjonizm 21 wieku i "problemy" z jakimi młodzi się obecnie mierzą.
Koles codziennie zaczyna dzień od energetyka z żabki. Zamiast zrobić swoje jedzenie to kupuje jakies wykwintne gotowce albo zamawia z restauracji do biura XD Po południu wlatuje 2 energetyk albo jakies picie też z żabki, gdzie ceny są w skrócie mówiąc p------e. No i w
Koles codziennie zaczyna dzień od energetyka z żabki. Zamiast zrobić swoje jedzenie to kupuje jakies wykwintne gotowce albo zamawia z restauracji do biura XD Po południu wlatuje 2 energetyk albo jakies picie też z żabki, gdzie ceny są w skrócie mówiąc p------e. No i w

witam12 +120
Treść przeznaczona dla osób powyżej 18 roku życia...





Jak dodajecie serwisy w .NET web appkach do DC?
nie lepiej nie wiem, dodac atrybut, czy konkretny namespace i napisać kilka linijek kodu po to zeby oszczedzic tego kazdemu w przyszlosci? Raczej pragmatyczna oszczędność czasu.
Często potrzebujesz zarejestrować jeden serwis jako scoped, inny transient, a jeszcze inny jako singleton - wtedy też walczysz z generatorami, żeby po połączyć do kupy?
Jeszcze Scrutora ewentualnie jestem w stanie "zrozumieć", bo masz jakiś interfejs markujący i
@drajvver: No a jak ( ͡º ͜ʖ͡º)
Wtedy dodajesz atrybut do serwisu i bangla, co bardziej hardkorowi wprowadzali do tego interfejsy i później miałeś ISingletonScope, ITransientScope itp. xD
Zaletą jest to, że każdy.NET dev zna standardowego DI, a o tych cudach pierwszy raz słyszę i każdego trzeba pewnie uczyć od nowa. Zwłaszcza jakichś rozwiązań opartych na refleksji (prawie na pewno zrobisz to gorzej niż MS).
@drajvver: Custom attribute ktory wrzucam nad klasą jeśli ma być inny lifetime niż Scoped, i potem zwyczajny switch przy rejestracji zeby wybrac lifetime, wszystko inne idzie jako Scoped. Jaka walka z generatorami, 1 linijka kodu...
Bo ja robie tak:
services.AddMemoryCache()
services.AddMyModule()
services.AddExternalModule(Configuration)
@drajvver: Scrutor to refleksja przeciez. Wlasnie ostatnio wymienialem kod jakiegos szalenca na kilka linijek Scrutora. rejestruje wszystkie nie abstracyjne, nie statyczne serwisy i "factory" z danej namespace, patrzy na atrybuty zeby zarejestrowac jako odpowiedni lifetime, sprawdza czy dany serwis ma interfejs czy nie i rejestruje albo jako interface albo jako self. Kilka linijek, i nikt nic nigdy nie musi dodawać do rejestracji recznie.
static void AddGownoZDupyServicesInternal(IServiceCollectionI tam gdzie ma to sens to przy użyciu refleksji na danej, konkretnej asemblce na podstawie wspólnego interfejsu.
Chociaż w tym miejscu można użyć refleksji, żeby powyciągać te metody i odpalić.
Ale ja nie jestem fanem podejścia o którym napisałeś. Im mniej abstrakcji tym lepiej. A czy