Category: .NET

Czy async/await w „jednolinijkowcach” ma sens?

Podczas nagrywania czwartego odcinka „Distributed .NET Core” (do którego oglądania serdecznie Cię zapraszam) wspólnie z Piotrkiem poruszyliśmy przez moment kwestię zasadności użycia async/await w tzw. „one line-rach” czyli metodach, których ciało posiada jedynie jedną linie i najczęściej jest implementowane za pomocą operatora „goes...

Scrutor czyli skanowanie Assembly dla domyślnego DI ASP.NET Core

Jakiś czas temu podczas rozwijania swojego projektu Open Source stanąłem przed, wydawać by się mogło prostym problemem. Otóż chciałem udostepnić użytkownikom biblioteki metodę rozszerzającą, która automatycznie zarejestrowałaby w kontenarze dependency injection wszystkie klasy implementujace konkretny interfejs. W przypadku zewnętrzynych bibliotek...

Enum jako flaga w C#

Rzadko zdarza mi się pisać o ficzerach języka C#, a już na pewno nie o takich, które są dostępne od wielu lat. Niemniej, dziś miałem okazję ponownie wykorzystać ciekawą i mniej znaną „odsłonę” enum-ów dostępną poprzez atrybut FlagsAttribute, która być może okaże się...

Bezpieczny null-check w C#

Dziś krótki wpis, który być może okaże się dla Ciebie bardzo przydatny. Chodzi o jedną z technik programowania defensywnego, którą bardzo często możesz spotkać w kodzie C# (z uwagi na jego specyfikę), a mianowicie null-check (ogólniej asercja). Spójrz na poniższy kod...

CQRS i mikroserwisy: odczyt danych

W poprzednim wpisie dosyć obszernie przedstawiłem ogólny koncept oraz implementację zapisu danych w aplikacji DShop, która opiera się na architekturze mikroserwisowej oraz wzorcu CQRS. W tym wpisie zajmiemy się drugim flow przepływu danych w aplikacji tj. ich odczytem. Zaczynajmy!   Ogólny zarys podejścia...

CQRS i mikroserwisy: zapis danych

Ostatnimi czasy na blogu było dosyć cicho, ale wynika to z dwóch rzeczy. Po pierwsze zrobiłem sobię przerwę wakacyjną (która przyznam szczerze rozciągnęła się nieco w czasie), a po drugie aplikacja DShop zmieniła się mocno pod kontem infrastrukturalnym, dlatego pozwoliłem...

Tworzenie własnego szablonu dla projektu .NET Core

Ostatnio w pracy rozpoczęliśmy nowy projekt, który oparty jest na mikroserwisach. Cały proces tworzenia aplikacji zaczęliśmy od stworzenia dedykowanego repozytorium dla każdej usługi (o tym podejściu pisałem tutaj) i umieszczeniu w nim projektu ASP.NET Core, który następnie należało odpowiednio przygotować. Mam tu...

Projekt DShop – instrukcja uruchomienia

W poprzednim wpisie opisującym ciemną stronę mikroserwisów wspomniałem, że przedstawię kompletną instrukcję uruchomienia projektu DShop, który wspólnie z Piotrkiem Gankiewiczem przygotowaliśmy na potrzeby prezentacji „Distributed .NTE Core”. Dlaczego właściwie ją publikuję? Powody są w zasadzie dwa. Pierwszy to fakt, że...

Waiting for dependencies in Docker Compose

Not so long ago, I got a quite interesting problem with my docker-compose file which surprisingly turned out to be quite common. In a nutshell, I had several ASP.NET Core applications (yup…microservices) which tried to connect to RabbitMQ queue during...