A plug-n-play thread-safe cache that can be dropped into any C# application. Notes: The active parameter exists for easy disabling of the cacheIf you are caching objects (i.e. T is a reference type) you should supply a clone function that is more efficient than the default …
Blog
Singleton Pattern Implementations
A brief reference on ways to implement the singleton pattern. Static Class Use a static class for your singleton only in the most basic of applications. Here is an example of using a static class for a threadsafe collection of objects that you want to access from anywhere in your …
SignalR Quickstart
How to set up SignalR in your ASP.NET Core 3.1 project. Install the Microsoft.AspNetCore.SignalR NuGet package: Create a Hubs folder in your project, and create MySignalRHub.cs inside of it: Update MySignalRHub.cs like so: Use dependency injection to access your DbContext (or …
RabbitMQ Quickstart
How to download & install RabbitMQ on Windows, enable the management GUI, and publish and consume messages using C#. Download the latest Windows installer for RabbitMQ Server (this one is version 3.8.5) from …
ASP.NET Core 3.x Input Validation
See a mistake here? Or something missing? Let me know! Use C# Attributes from the System.ComponentModel.DataAnnotations namespace to add server-side and client-side validation. Tip: Keep your view model separate from your database model, because the same data attributes will do two different …