Exploring the Docker Extension for VS Code and .NET Core

The Docker extension for VS Code was recently updated to better support .NET Core applications and the experience is super nice! The extension already has great support for building your containers, pushing images to Docker Hub, Azure Container Registry and tasks such as running a specific image or tagging an image too. However, adding a Dockerfile to an ASP.NET Core application was not updated to support the microsoft/dotnet base images. The Docker extension can be downloaded separately or is also available as a part of the Azure extension pack for VS Code which provides a number of other extensions for working with the many cloud services without leaving the editor. First, I'll start by creating a quick Razor...


dotnet new templates for serverless functions

Since .NET Core was announced, I've really been loving the command line experience for .NET Core. Being able to use dotnet new to start a new application regardless of the OS or what shell/terminal experience is on a machine is the way to happiness. The Azure Functions team has put together some fancy new templates for creating serverless apps now. Getting the new templates installed .NET Core templates are all just NuGet packages and installed using dotnet new -i <package-path>. In this case, the templates are on a private feed, so you need to get them nupkg files from https://functionscdn.azureedge.net/public/cli-feed-v3.json. The latest current version right now is from the feed: "2....


Open source tools for SQL Server on Linux

I am a sucker for a great tool and even better if it's open source. Recently, I wrote up a post on why we should care about containers where I used SQL Server on Linux in a container and loaded some test data for an ASP.NET Core application in lieu of using a full database server. SQL Server on Linux has a built-in command line tool for connecting and executing commands against the database. However, each time you use it; it requires a login, password etc. /opt/mssql-tools/bin/sqlcmd -S localhost -d Names -U SA -P $SA_PASSWORD -I -Q "SELECT TOP 5 ID,FullName FROM Names;" mssql-cli Introducing the mssql-cli, a new interactive and cross-platform CLI tool....


Use serverless functions and CDN to speed up API data calls

ASP.NET Core 2.1 added some great features for making external API calls easier to manage when there are network failures, or the service itself might be down. Scott Hanselman has a great series of posts where he has updated to take advantage of these features. Announcement on HttpClientFactory and documentation at docs.microsoft.com Download .NET Core 2.1 Using Polly we can set up a retry policy, stating a number of retries to attempt and at what interval. services.AddHttpClient<MyClient>(). AddTransientHttpErrorPolicy(policyBuilder => policyBuilder.CircuitBreakerAsync( handledEventsAllowedBeforeBreaking: 2, durationOfBreak: TimeSpan.FromMinutes(1) )); As I was reading through the docs and making the changes to the ASP.NET Core workshop, it struck me to push this...


Using global tool "dotnet outdated" to check for the latest NuGet package updates

Just recently the .NET Core June 2018 Update dropped and the ASP.NET Workshop I had just set up for CI/CD build was in need of an update to 2.1.1 (Release Notes). Get the latest 2.1.1 Runtime | 2.1.301 SDK from the downloads page at http://dot.net/ Looking through all of the save-points there are and of course the main /src, the challenge is to know what NuGet packages have changed and what versions are the latest etc., to be updated. That is where a great .NET global tool, dotnet-outdated comes in to play. Read more about dotnet global tools in the docs Install the tool using the .NET CLI - dotnet tool...