.NET / C#

I love programming in .NET / C#. Have been doing it since 2004 now. Much has changed since: the .Net framework is got more libraries, NuGet was a game-changer and even C# itself is evolving with lambda and dynamic.

And now .Net has evolved to Standard and Core with support for other platforms like Linux / Docker. Things are getting easier and faster.

There are 43 articles tagged with .NET / C#.

The Swiss Army Knife Decorator: exception logging, latency metrics and Jaeger spans combined

At Wehkamp we use decoration a lot. Decoration is a nice way of separating concerns from the actual code. Most of our repositories need the same set of decorators: exception logging, latency metrics and Jaeger spans. In this article I’ll be joining these 3 types of decorator into a single Swiss Army Knife decorator: one decorator to rule them all.

Read the article The Swiss Army Knife Decorator: exception logging, latency metrics and Jaeger spans combined

Dependency Injection based on request headers

Dependency Injection (DI) helps us to change the behavior of parts of our program on the fly. This is especially neat when you want to test your domain services against a mocked data-store. But what if you need to change the behavior of your API based on a request header?

Yesterday I had a discussion with my colleague Robert Kranenburg about this. He showed an example of a console application changing its behavior based on an argument. I took the idea and converted it into .NET Core 3.1 code to change behavior based on a cookie.

Read the article Dependency Injection based on request headers

“Is One Of” and “Is Not One Of” validation attributes

I love attribute validation! They can be used for a myriad of things. In .NET Core MVC we use them to validate models that come into our controllers. In one of our projects we kept running into the same thing: we need to validate a value against an array of pre-defined values. So we wrote some base validation attributes.

Read the article “Is One Of” and “Is Not One Of” validation attributes

Building a high performing last viewed list using Redis

We live in a day and age in which we can choose a data-store that matches the characteristics of our apps and (micro) services. Lately we’ve been looking into Redis as a high performing store for last viewed items. In this blog I’ll look show how to create a POC with the redis-cli and then implement it using .NET Core. We’ll be using the sorted set structure.

Read the article Building a high performing last viewed list using Redis
expand_less brightness_auto