Aktywne Wpisy

akNe +197
Treść przeznaczona dla osób powyżej 18 roku życia...
lenovo99 +6
Jaka gra na początek przygody z planszówkami? Coś do 100 zł żeby było od 2 do 4 osób.
#grybezpradu #gryplanszowe
#grybezpradu #gryplanszowe





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