Migrating WCF to gRPC using .NET Core

Satellite dish

Microsoft recently released .NET Core 3.0 and set the stage for WCF’s exit. .NET Core no longer supports “full framework” mode which effectively ends support for WCF as we know it. Our options for migration vary. Today let’s discuss one such approach I feel is a “low-impact” approach. Let’s look at migrating WCF to gRPC using .NET Core while still maintaining backwards compatibility.

Continue reading “Migrating WCF to gRPC using .NET Core”

Application logs are your friend (and how to read them)

Server racks

Your software application will crash. Even the most principled software following the best practices will inevitably have a bad day. Figuring out why it crashed and how to prevent it is a skill in and of itself. Fortunately there are steps you can take to help you when this time comes. Application logs are your friend and it is necessary to learn how to read them.

Continue reading “Application logs are your friend (and how to read them)”

Getting Solid with SOLID – Part 1 – Single Responsibility Principle

SOLID Single Responsibility Principle - one job and does it well.  This guy didn't.
Single Responsibility Principle – Class has one job and does it well… unlike this road line painter.

Software engineering is full of patterns and principles to help you get the job done. Sometimes those patterns and principles are defined very abstract and difficult to understand. Let’s talk about SOLID design principles in a 5 part series. Today we’re discussing the Single Responsibility Principle.

Continue reading “Getting Solid with SOLID – Part 1 – Single Responsibility Principle”

MsBuild error publishing ASP.NET MVC referencing .NET Standard library

MSBuild error - This version of Microsoft.Web.Sdk used by this project is insufficient to support references to libraries targeting .NET Standard 1.5 or higher.  Please install 2.0 or higher of the .NET Core SDK.

Breathing new life into a “legacy” ASP.NET website is a way you can help slowly transition the site towards ASP.NET Core. One way you might accomplish that is by referencing .NET Standard libraries. Everything seems fine and dandy until you attempt a publish operation. Generally you might not notice these until running msbuild from command-line–such as in a CI environment, batch deploy script, or otherwise. Let’s talk about one major msbuild error you’ll encounter while publishing your ASP.NET MVC application that references a .NET standard library. We’ll also talk about some other errors that might arise in the process.

Continue reading “MsBuild error publishing ASP.NET MVC referencing .NET Standard library”

Session management in DotNetCore web applications

Shipping containers

Last month we talked about Cookie management in DotNetCore web applications and introduced a generic cookie service. Today we’re going to look at an alternative option for storing user data. Session state is a server store of information linked to a browsing session. Today let’s look at a technique for generic session management in dotnetcore web applications.

Continue reading “Session management in DotNetCore web applications”