Find your next readFilters
Reset

Page 13 of 41 (Total items: 815)
Adding Entity Framework for Blog Posts (Pt 6)

Now that I have this blog running using Entity Framework I can add new posts and languages easily. I just add a new markdown file to the project and check it in. The GitHub action triggers and the site is updated. In this post I'll cover a couple of small…

Adding a C# Umami Tracking client

In a previous post we added a client for fetching Umami analytics data. In this post we will add a client for sending tracking data to Umami from a C# application. Umami is a lightweight analytics service that can be self-hosted. It is a great alternative to…

A SimpleMDE Markdown Preview Editor with server side rendering.

One thing I thought it would be fun to add is a way to look at the markdown for the articles on the site with a live rendering of the markdown. This is a simple markdown editor that uses SimpleMDE and a server side rendering of the markdown using the markkdig…

Adding Entity Framework for Blog Posts (Part 5)

See parts 1 and 2 and 3 and 4 for the previous steps. Introduction In previous parts we covered how to set up the database, how our controllers and views are structured, how our services worked, and how to seed the database with some initial data. In this part…

Adding Entity Framework for Blog Posts (Pt. 4)

See parts 1 and 2 and 3 for the previous steps. Introduction In previous parts we covered how to set up the database, how our controllers and views are structured, and how our services worked. In this part we'll cover details on how to seed the database with…

Handling (unhandled) errors in ASP.NET Core

In any web application it's important to handle errors gracefully. This is especially true in a production environment where you want to provide a good user experience and not expose any sensitive information. In this article we'll look at how to handle errors…

Adding Entity Framework for Blog Posts (Part 3)

You can find all the source code for the blog posts on GitHub Parts 1 & 2 of the series on adding Entity Framework to a .NET Core project. Part 1 can be found here. Part 2 can be found here. Introduction In the previous parts we set up the database and the…

Adding Entity Framework for Blog Posts (Part 2)

You can find all the source code for the blog posts on GitHub Part 2 of the series on adding Entity Framework to a .NET Core project. Part 1 can be found here. Introduction In the previous post, we set up the database and the context for our blog posts. In…

Adding a C# Client For Umami API

Imtroduction In this post, I will show you how to create a C# client for the Umami reporting API. This is a simple example that demonstrates how to authenticate with the API and retrieve data from it. You can find all the source code for this on my GitHub…

Using ImageSharp.Web with ASP.NET Core

ImageSharp is a powerful image processing library that allows you to manipulate images in a variety of ways. ImageSharp.Web is an extension of ImageSharp that provides additional functionality for working with images in ASP.NET Core applications. In this…

ASP.NET Core Caching with HTMX

Caching is an important technique to both improve user experience by loading content faster and to reduce the load on your server. In this article I'll show you how to use the built-in caching features of ASP.NET Core with HTMX to cache content on the client…

Adding Entity Framework for Blog Posts (Part 1, Setting up the Database)

Buckle in because this will be a long one! You can see parts 2 and 3 here and here. Introduction While I've been happy with my file based approach to blogging, as an excercise I decided to move to using Postgres for storing blog posts and comments. In this…

Using Docker Compose for Development Dependencies

When developing software traditionally we'd spin up a database, a message queue, a cache, and maybe a few other services. This can be a pain to manage, especially if you're working on multiple projects. Docker Compose is a tool that allows you to define and…

Adding Paging with HTMX and ASP.NET Core with TagHelper

Now that I have a bunch of blog posts the home page was getting rather length so I decided to add a paging mechanism for blog posts. This goes along with adding full caching for blog posts to make this a quick and efficient site. See the Blog Service source…

Using Umami for Local Analytics

One of the things that annoyed me about my current setup was having to use Google Analytics to get visitor data (what little there is of it ??). So I wanted to find something I could self-host that didn't pass data to Google or any other third party. I found…

Guid format string from a string input extension.

Small Posts FTW Small but potentially useful solution to a problem I was having. Namely, how to generate a GUID from a string input where the Guid is always valid but unique for any given input string. I needed this for my RSS feed generator where I wanted to…

Adding a RSS feed with ASP.NET Core

RSS (and Atom) is still the only widely adopted format for syndicating content. It's a simple XML format that can be consumed by a wide range of feed readers. In this post, I'll show you how to add an RSS feed to your ASP.NET Core application. Creating the…

Adding Background Sending for Emails

##Introduction In my previous post I detailed how to send emails using FluentEmail and the SMTP Client. However one issue with this is the delay in sending emails. SMTP servers tend to be slow and can take a while to send emails. This can be annoying for users…

Sending HTML Emails from ASP.NET Core with FluentEmail

This is a fairly simple article but will cover some of the odness of using FluentEmail in ASP.NET Core to send HTML emails I haven't seen elsewhere. The Problem Sending HTML mails is itself kinda simple with SmtpClient, but it's not very flexible and doesn't…

A Blast from the past

This just popped up on Facebook, an old image of me in my office at Microsoft. Office at Microsoft A long long time ago in a country far, far away I was a lowly PMII at Microsoft. I was working on the ASP.NET team and was responsible for the release lifecycle…

Page 13 of 41 (Total items: 815)
logo

© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.