DevTrends Blog

The DevTrends technical blog covers .NET, Microsoft Azure, IoC, ASP.NET MVC, Web API, AspNet Core, Open Source releases plus anything else that I find interesting :-)

Displaying page 1 of 4

ef

Avoid AsNoTracking and Include when querying using Entity Framework in ASP.NET

Developers often use AsNoTracking in the belief that it will increase performance when performing read queries in Entity Framework. This post explains why this approach is flawed and its usage may actually be a sign of an underlying problem - a problem that is made even worse by the use of Include. More »

open source

Announcing ConfigurationExtensions - bind config to C# records and classes with constructors

This post discusses DevTrends.ConfigurationExtensions, a new NuGet package that extends the built-in .NET configuration functionality to allow config binding to positional C# records and classes with constructors. More »

asp.net core

Fast Free Geolocation in .NET with freegeoip.net

If you need a simple, server-side way to locate a user based on IP address then you might be interested in the freegeoip.net API. As the name suggests, the service is totally free and has a generous request limit. It is also very easy to use. This post looks at how to call it from .NET. More »

design

3 Ways To Avoid An Anemic Domain Model In Entity Framework

Anemic domain models are extremely common when using ORM's such as Entity Framework. This post looks at the problems of having an anemic domain model and then goes on to look at a few simple techniques to allow you to create richer models when using Entity Framework Code First and EF Core. More »

asp.net core

Installing the ASP.NET Core 2.0 runtime store on Linux

This is a quick post to show how to manually install the ASP.NET runtime store on a production Linux server. Failure to do this will result in your ASP.NET Core 2.0 applications breaking. More »

asp.net core

Dependency Injection in action filters in ASP.NET Core

It is quite common to decorate ASP.NET MVC controller actions with filter attributes to separate cross cutting concerns from the main concern of the action. Sometimes these filters need to use other components but attributes are quite limited in their functionality and dependency injection into an attribute is not directly possible. This post looks at a few different techniques for injecting dependencies into action filters in ASP.NET Core. We discuss when each method should be used before taking a step back and examining if we can approach the problem in a different way for a cleaner solution. More »

asp.net core

Custom response caching in ASP.NET Core (with cache invalidation)

This post looks at custom output caching and in particular, allowing cache invalidation (cache busting) at the server level to allow the use of response caching for more dynamic pages. More »

asp.net core

A guide to caching in ASP.NET Core

This post looks at the various techniques available in ASP.NET Core for caching. We'll look at caching of data, partial pages and full pages at the server and client level and explain when to use each More »

asp.net core

Hashing, Encryption and Random in ASP.NET Core

This post look at hashing, encryption and random string generation in ASP.NET Core. We examine a few different approaches and explain why some common techniques should be avoided in modern applications. More »

.net core

Create a Free Private NuGet Server with Continuous Deployment using VSTS

In the last post we looked into shared libraries in .NET Core and concluded that using NuGet packages is the preferred solution for distribution to multiple applications. This post shows how to use Visual Studio Team Services (VSTS) to set up a continuous deployment pipeline for your internal libraries to publish them to a private secure NuGet server. More »

.net core

Creating your first shared library in .NET Core

Sharing libraries between projects is a fundamental requirement in all but the most simple applications. This post looks at how things have changed with .NET Core. We look at the different types of class library available, how to create a simple library and the best way to reference shared libraries from other applications. More »

asp.net core

Conditional Middleware based on request in ASP.NET Core

This post looks at how to configure ASP.NET Core middleware in a way that allows you to have different middleware for different types of request. There are many use-cases for this but one common example for this requirement is a project with both MVC and API actions where you want to error handling to be different for each. More »

View Older Posts