Optimising ASP.NET Core apps in Docker - avoiding manually copying csproj files
This post builds on my previous posts on building ASP.NET Core apps in Docker and using Cake in Docker. In this post I show how you can optimise your Dockerfiles for dotnet restore, without having to...
View ArticleGotchas upgrading from IdentityServer 3 to IdentityServer 4
This post covers a couple of gotchas I experienced upgrading an IdentityServer 3 implementation to IdentityServer 4. I've written about a previous issue I ran into with an OWIN app in this scenario -...
View ArticleComing in ASP.NET Core 2.1 - top-level MVC parameter validation
This post looks at a feature coming in ASP.NET Core 2.1 related to Model Binding in ASP.NET Core MVC/Web API Controllers. I say it's a feature, but from my point of view it feels more like a bug-fix!...
View ArticleASP.NET Core in Action - Filters
In February 2017, the Manning Early Access Program (MEAP) started for the ASP.NET Core book I am currently writing - ASP.NET Core in Action. This post is a sample of what you can find in the book. If...
View ArticleFixing Nginx "upstream sent too big header" error when running an ingress...
In this post I describe a problem I had running IdentityServer 4 behind an Nginx reverse proxy. In my case, I was running Nginx as an ingress controller for a Kubernetes cluster, but the issue is...
View ArticleExploring the Microsoft.AspNetCore.App shared framework in ASP.NET Core 2.1...
In ASP.NET core 2.1 (currently in preview 1) Microsoft have changed the way the ASP.NET core framework is deployed for .NET Core apps, by moving to a system of shared frameworks instead of using the...
View ArticleHow to create a Helm chart repository using Amazon S3
Helm is a package manager for Kubernetes. You can bundle Kubernetes resources together as charts that define all the necessary resources and dependencies of an application. You can then use the Helm...
View ArticleCreating a .NET Core global CLI tool for squashing images with the TinyPNG API
In this post I describe a .NET Core CLI global tool I created that can be used to compress images using the TinyPNG developer API. I'll give some background on .NET Core CLI tools, describe the changes...
View ArticleImplementing custom token providers for passwordless authentication in...
This post was inspired by Scott Brady's recent post on implementing "passwordless authentication" using ASP.NET Core Identity.. In this post I show how to implement his "optimisation" suggestions to...
View ArticleUsing an IActionFilter to read action method parameter values in ASP.NET Core...
In this post I shown how you can use an IActionFilter in ASP.NET Core MVC to read the method parameters for an action method before it executes. I'll show two different approaches to solve the problem,...
View ArticleOptimising ASP.NET Core apps in Docker - avoiding manually copying csproj...
This is a follow-up to my recent posts on building ASP.NET Core apps in Docker: Optimising ASP.NET Core apps in Docker - avoiding manually copying csproj files Building ASP.NET Core apps using Cake in...
View ArticleCreating a generalised Docker image for building ASP.NET Core apps using ONBUILD
This is a follow-up to my recent posts on building ASP.NET Core apps in Docker: Exploring the .NET Core Docker files: dotnet vs aspnetcore vs aspnetcore-build Building ASP.NET Core apps using Cake in...
View ArticleVersion vs VersionSuffix vs PackageVersion: What do they all mean?
In this post I look at the various different version numbers you can set for a .NET Core project, such as Version, VersionSuffix, and PackageVersion. For each one I'll describe the format it can take,...
View ArticleCreating NuGet packages in Docker using the .NET Core CLI
This is the next post in a series on building ASP.NET Core apps in Docker. In this post, I discuss how you can create NuGet packages when you build your app in Docker using the .NET Core CLI. There's...
View ArticleSetting ASP.NET Core version numbers for a Docker ONBUILD builder image
In a previous post, I showed how you can create NuGet packages when you build your app in Docker using the .NET Core CLI. As part of that, I showed how to set the version number for the package using...
View ArticlePushing NuGet packages built in Docker by running the container
In a previous post I described how you could build NuGet packages in Docker. One of the advantages of building NuGet packages in Docker is that you can don't need any dependencies installed on the...
View ArticleExploring the .NET Core 2.1 Docker files (updated): dotnet:runtime vs...
This is an update to my previous post explaining the difference between the various Linux .NET docker files. Things have changed a lot in .NET Core 2.1, so that post is out of date! When you build and...
View ArticleSuppressing the startup and shutdown messages in ASP.NET Core
In this post, I show how you can disable the startup message shown in the console when you run an ASP.NET Core application. This extra text can mess up your logs if you're using a collector that reads...
View ArticleWriting logs to Elasticsearch with Fluentd using Serilog in ASP.NET Core
For apps running in Kubernetes, it's particularly important to be storing log messages in a central location. I'd argue that this is important for all apps, whether or not you're using Kubernetes or...
View ArticleBuilding ASP.NET Core apps on both Windows and Linux using AppVeyor
Nearly two years ago I wrote a post about using AppVeyor to build and publish your first .NET Core NuGet package. A lot has changed with ASP.NET Core since then, but by-and-large the process is still...
View Article