.NET Core 3.0 brings many exciting new features, including a new major release of C#, improved performance and support for building Windows desktop applications (on Windows). In this article, we’ll look at interesting new features for Linux and Linux container users.
In this post, we'll be discussing the Repository-Service Pattern, a name I applied to a software architecture pattern that has been in use for quite some time. We'll take a look at how this pattern might be implemented in a real app, and discuss some advantages and one big disadvantage the pattern has.
The explosive growth of web frameworks and the demands of users have changed the approach to building web applications. Many challenges exist, and getting started can be a daunting prospect. Let’s change that now. This talk provides practical guidance and recommendations. We will cover architecture, technologies, tools, and frameworks. We will examine strategies for organizing your projects, folders and files. We will design a system that is simple to build and maintain – all the way from deve
Windows Services: just a single line of code is needed to convert a background worker to a Windows Service. With .NET Core 3.0, a background worker can be created using Visual Studio or the dotnet CLI command dotnet new worker.
The WhatsApp API for Twilio now supports media, including images and files. So let's build an app that receives an image from WhatsApp, processes the image using one of the many options available on the Pho.to API and then returns the processed image.
In this tutorial we'll go through a simple example of how to implement role based authorization / access control in an ASP.NET Core 3.0 API with C#. The example builds on another tutorial I posted recently which focuses on JWT authentication in ASP.NET Core 3, this version has been extended to include role based authorization / access control on top of the JWT authentication.
In this post, we’ll look at how to combine ASP.NET Core validation attributes with Value Objects. We’ll look at how the two deal with input validation on their own, outline the drawbacks of each and then proceed with the combined approach.