Author name: Jakub Wierzbanowski

Refit – Generowany klient HTTP

Wprowadzenie Biblioteka refit bardzo ułatwia pisanie kodu, odpowiedzialnego za połączenia http. Zamiast tworzyć powtarzalne metody, bo zazwyczaj pisząc prostego klienta HTTP, robimy dokładnie to samo, możemy po prostu zaimportować paczkę, która zrobi za nas całą robotę! Przykład użycia Importujemy paczkę Refit.HttpClientFactory, tworzymy nowy interfejs (!) i definiujemy potrzebne nam metody. Możemy w łatwy sposób definować […]

Middleware – Jak rozszerzyć procesowanie WebApi

Wprowadzenie Middleware to mechanizm, w którym możemy dodać własny kod „pośredni” do przetwarzania requestów HTTP. W Web API tworzony jest cały pipeline, czyli zestaw różnych Middleware wykorzystywanych, gdy request trafia do naszej aplikacji. Tworząc nowy projekt typu Web API, otrzymujemy wygenerowany kod, który zawiera już kilka Middleware. Każda z powyższych metod to extension method, natomiast

OutputCacheMiddleware – WebApi

Czasami proste rozwiązania mogą okazać się najlepsze. Jeśli mamy dosyć proste API, może się okazać, że wystarczy parę linijek, żeby poprawić wydajność. Na start wystarczy kilka linijek w kodzie. Dodatkowo metoda AddOutputCache może przyjąć lambdę, żeby skonfigurować options. W options możemy ustawiać Policy, AddBasePolicy, które będzie się aplikowało do wszystkich wywołań, albo AddPolicy, gdzie możemy

LINQ – Kolejne usprawnienia

Wprowadzenie LINQ również jest aktywnie rozwijane. Oprócz różnych usprawnień, zwiększających wydajność poszczególnych metod, pojawiają się także nowe rozszerzenia, które ułatwiają codzienną pracę. Chciałbym podzielić się z wami rozszerzeniami, które zostały dodane w ostatnich kilku wersjach .NET. Przegląd Wszystkie przykłady będziemy uruchamiać na podstawie poniższej kolekcji Chunk – metoda służąca do dzielenia kolekcji na mniejsze części.

Zmiany w c# na przestrzeni lat – part 2

Kolejna porcja zmian, jakie pojawiły się w c# przez ostatnie lata. Część z nich może się wydawać nieintuicyjna, ale jak człowiek się przyzwyczai to z wielką satysfakcją robi się refactoring. File-scoped namespaces Namespace na poziomie całego pliku, dzięki temu jesteśmy w stanie zaoszczędzić jedno zagnieżdżenie, prosta rzecz a cieszy! Using przy typach IDisposable Również pojawiło

NuGet Restore- Wersjonowanie paczek

Wprowadzenie Wersjonowanie paczek i serwisów to element bardzo często pomijany i ignorowany – niestety, ponieważ trzymając się różnych konwencji, można uniknąć wielu problemów. Poprawne wersjonowanie wymaga od nas pewnego wysiłku, ale wydaje mi się, że wciąż warto się go trzymać (a przynajmniej próbować!). Trzymając się zasad SemVer, warto stosować wersjonowanie w formacie MAJOR.MINOR.PATCH, gdzie:|PATCH –

Scoped ServiceProvider – Własna implementacja

Wstęp W poprzednim wpisie dotyczącym service lifetimes, na przykładzie Web API, opisałem jak są tworzone zależności typu Scoped – w kontekście requestów HTTP. A co, jeśli nie używamy HTTP? Otóż można wprowadzić własną implementację Scope, w zależności od tego, jak nasza biblioteka/aplikacja go definiuje. Do tego posłużą nam klasy i metody dostarczone przez IServiceCollection oraz

Pattern Matching – potężne zmiany w c#

Wstęp Pattern Matching to jedna z najciekawszych zmian, jakie zostały dodane do C#. Drastycznie zmienia podejście do sprawdzania warunków w kodzie. Zmiany, które się dzieją, trwają cały czas, ponieważ z każdą kolejną wersją języka są wprowadzane nowe usprawnienia. Przykłady użycia Pierwsze zmiany, jakie się pojawiły, to prosty sposób zmiany sposobu rzutowania typów. W nowym podejściu

DelegatingHandler – jak rozszerzyć działanie klienta http w c#

Wprowadzenie HttpClient może być rozszerzony o dodatkową logikę za pomocą DelegatingHandler. Jest to klasa bazowa, która pozwala nam dodać dodatkowe zachowania bez konieczności modyfikowania oryginalnego kodu przetwarzającego żądania. Moim zdaniem, im więcej elastyczności dostajemy nie modyfikując kodu naszej aplikacji, tym lepiej! Przykłady użycia DelegatingHandler jest klasą abstrakcyjną, która udostępnia metodę SendAsync. Dzięki temu mamy kontrolę

Immutability w .NET

Wprowadzenie Dzisiaj chciałbym pokrótce opisać mechanizmy immutability, które dostarcza .NET. Skupię się również na zmianach, jakie pojawiły się wraz z wprowadzeniem .NET Core. Immutability to ciekawy temat, a młodzi programiści najczęściej spotykają się z nim po raz pierwszy, ucząc się, jak działa String w C#. Dlaczego Immutability jest tak istotne? Im więcej kontroli mamy nad

Scroll to Top