• .NET Core 3.1 is LTS meaning it’s a great time to upgrade projects to the newest version. This article goes through the process of converting one of my existing .NET Core 1.1 projects to 3.1. I chose this project because updating from .NET Core 1.1 is a bit more complicated than 2.0. Also, the source code for this project is available, so anyone interested can view the commit log. The first step is installing the .
    approx. 4 minutes. Software    csharp asp.net .net core
  • Winter made me a little stir-crazy. In order to deflect the brain spirals, I wanted to make a little side project. It breaks my current cycle while feeling happy I accomplished something. I placed tight time constraints to ensure I’d complete it. coolurl.mattkruskamp.com Put in a URL that you’d like to hide. Enter the meta information you’d like to display on sites that show previews (like Slack). When you submit the form a new link will be generated with a copy function.
    approx. 2 minutes. Software    fun build csharp asp.net .net core
  • In a previous article I wrote about using middleware to add concurrency keys into an Asp.Net Core project. I’d like to extend that and show how to integrate a logging platform with concurrency keys. Our .Net Core logging framework of choice is Serilog. They have great integration with common logging protocols, and there stuff is very extensible. Logging with Serilog Serilog allows a developer to inject properties into the LogContext. The LogContext This allows us to take properties and map them to the log templates.
    approx. 2 minutes. Software    asp.net csharp .net core serilog
  • There are a few ways to create a Swagger client in .Net. For native Visual Studio users you can right-click on a project and generate them for the .Net Framework. However, I was looking for a way to consistantly generate a cross-platform client. Enter Autorest. In this article I’ll show how to create a Swagger-enabled .Net Core Api, and the build a cross-platform .Net client library that works in both .
    approx. 6 minutes. Software    .net core asp.net csharp swagger
  • I’m recently working with microservices in Asp.Net Core. With microservices, there tends to be a lot of network connectivity. One service potentially calls many other services to build a final response. It’s difficult to see where a request started, all the subsequent requests that happened back to the final result. Concurrency keys are a way to track a single request through all its dependancies. The idea is when a request is made a concurrency key is generated.
    approx. 2 minutes. Software    asp.net csharp .net core microservices
  • I really like my Macbook Pro. I’m also a developer who uses .Net a lot. This creates a problem for me since the .Net ecosystem is primarily a Windows one. Luckily, with the addition of .Net Core this is changing. .Net Core is open source, cross-platform, and supports many of the things us .Net developers are used to. I was wanting to test the cross-platform part so I set out to build a simple Asp.
    approx. 5 minutes. Software    csharp .net core asp.net
  • Selenium is a great product for browser automation. It allows me to build great suites of interface tests. The only issue is the code to implement Selenium in the C# world isn’t very clean. With a single page application, the developers end up with a lot of Thread sleeps, complex selection queries, etc. Enter Coypu. Coypu is a C# wrapper around Selenium with an API inspired by Capybara. This means coding to Coypu is very straightforward.
    approx. 3 minutes. Software    selenium csharp
  • I want to note this was my first stab at getting a workflow for cross-platform libraries using the new technologies. I don’t consider any of these methods the correct way to do things, but they represent my experience with it so far. I’ve had a fairly unstable relationship with .Net recently. I support the push to make things cross-platform. I understand that change is tricky. However, I feel like there is a lack of the usual Microsoft prep-work when it comes to the new offerings.
    approx. 5 minutes. Software    asp.net .net core csharp
  • So you implement a sweet new section to your website and publish. You tell all your friends and family how amazing this new section of your pets blog is. They report back to you that it looks terrible and ugly but it was a good effort. After the back and forth of making sure they aren’t on Netscape 4 or IE 6 you realize that they have to refresh their cache.
    approx. 1 minutes. Software    csharp
  • Problem I was writing some code for our production site as it was needing some scaling additions. I wanted to cache some key pages that for the most part have static content, but they have those clever headers that change based on your authentication (Home page, About page, etc). The clever guys over at StackOverflow mentioned that they do output caching for everything as long as the user isn’t authenticated. So I was like “Genius, I will use output cache.
    approx. 2 minutes. Software    csharp