Optimally Configuring Open Telemetry Tracing for ASP.NET Core
How to optimally configure Open Telemetry traces for ASP.NET Core enriched with lots of extra information.
How to optimally configure Open Telemetry traces for ASP.NET Core enriched with lots of extra information.
I tried using C# 10 implicit using statements and found that they had a fatal flaw which meant you couldn't use them under certain circumstances
You can now create .NET Boxed projects directly from Visual Studio. Here's a short post showing you how.
How to optimally export Open Telemetry metrics, logs, and traces for .NET to Jaeger.
The basics of how to configure Open Telemetry metrics, logs, and traces for ASP.NET Core and export the traces.
How to use the Open Telemetry specification, tools and SDK's used to instrument, generate, collect, and export telemetry data (metrics, logs, and traces) using .NET and ASP.NET.
I did a fun podcast episode with Leonardo Tuna. We talked about the difficulty of getting a job at Microsoft, some of my work there, JavaScript frontend frameworks, Vue vs React and my interesting experiences writing software for education at Bridge International Academies.
.NET SDK updates are released every few weeks. In this post, I talk about how you can automate them.
Using MinVer is the easiest way to version your NuGet packages and DLL's using semantic versioning (SemVer).
It's difficult to know if your 'dotnet new' based project will work if they have lots of options, in this post I show how to unit test them.
The dotnet watch tool is a file watcher for dotnet that restarts the application when changes in the source code are detected. You can use dotnet watch in Visual Studio by using the launchSettings.json configuration file.
How to use and implement Cache-Control, Cache-Control Immutable, E-Tag, Last-Modified and If-Modified-Since Caching HTTP headers in ASP.NET Core.
Schema.NET is Schema.org objects turned into strongly typed C# POCO classes for use in .NET.
Move your ASP.NET Core MVC action method logic into lazily loaded commands using the command pattern, to reduce Controller complexity.
How to add feature selection to your dotnet new template using symbols (bool, string, choice, computed) and pre-processor directives.
I show how to make the new Visual Studio 2017 .NET Core based csproj XML concise and pretty for hand editing.
How to create project templates using dotnet new and the template.json file. How to share project templates by creating NuGet packages.
Should you use Reactive Extensions (Rx) to do timeouts in .NET? It turns out it's better to use CancellationTokenSource in the Task Parallel Library (TPL).
An SEO friendly URL is human readable and gives your site a higher page rank. Learn how to implement SEO friendly URL's using ASP.NET Core.
Implementing Application Insights into your ASP.NET Core application with performance and security as a top priority in this advanced scenario.
The dotnet watch tool is a file watcher for dotnet that restarts the application when changes in the source code are detected.
Enhance the experience of sharing a page from your site through the use of social media meta tags implemented with ASP.NET Core TagHelpers.
Use an ASP.NET Core TagHelper to implement Subresource Integrity (SRI) to ensure that external resources have not been tampered with. With is part 2.
Use an ASP.NET Core TagHelper to implement Subresource Integrity (SRI) to ensure that external resources have not been tampered with.
Colorful.Console is a C# library that wraps around the System.Console class, making your console apps more colourful. Write ASCII art using Figlet fonts.
Log exception details and custom properties that are not output in Exception.ToString() using Serilog.Exceptions for .NET.
How to dynamically generate a sitemap.xml file using ASP.NET MVC to improve the Search Engine Optimization (SEO) of your site and get better search rankings.
With the release of ASP.NET Core Boilerplate, this post discusses what's new and what is currently missing due to ASP.NET Core still being in beta.
How to dynamically generate a robots.txt file using a simple ASP.NET MVC action method and only a few lines of code.
Use canonical URL's in ASP.NET MVC for better Search Engine Optimization (SEO) using ASP.NET Core Boilerplate and the RedirectToCanonicalUrlAttribute.
How to build a fully featured RSS/Atom feed for ASP.NET MVC, including Google's PubSubHubbub and the 'Subscribe to this feed' button.
C# 6.0 helps reduce human error and save developers from themselves using the nameof operator, string interpolation and the null-conditional operator.
Content Security Policy (CSP) is a HTTP header which white-lists content the browser is allowed to load. This post discusses its application in ASP.NET MVC.
The NWebSec NuGet packages help secure your ASP.NET MVC site using HTTP headers. The ASP.NET Core Boilerplate project template configures them our of the box.
Shows how to use the Reactive Extensions (Rx) Sample method to reduce the number of subscribed events by taking a sample from them over a given time period.
The web.config file is insecure in the default ASP.NET MVC project template. This post talks you through securing the ASP.NET MVC Web.config file.
A guide to creating custom Visual Studio project templates in .zip and VSIX form and submitting them to the Visual Studio Gallery, so it can be downloaded.
Add favicon's to your website to support iOS, Android, Windows 7, Windows 8, Windows Phone and more. Find out where icons are used on each platform and how.
ASP.NET Core Boilerplate is a professional ASP.NET MVC template for building secure, fast, robust and adaptable web applications or sites.
Elysium Extra Version 1.1 is a Windows Presentation Foundation (WPF) SDK providing Metro styles for built in WPF controls and some custom controls.
An base class implementation for the INotifyDataErrorInfo interface. Used in the Model-View-ViewModel (MVVM) pattern. Targeted for best performance.
An base class implementation for the INotifyPropertyChanged interface. Used in the Model-View-ViewModel (MVVM) pattern. Targeted for best performance.
Implementing IDisposable correctly is ridiculously hard. A Disposable base class can make it easier. Using IDisposable in Model-View-ViewModel (MVVM) really helps.
What really goes into using Model-View-ViewModel (MVVM) in .NET. Base classes for INotifyPropertyChanged, INotifyDataErrorInfo, IDisposable and a lot more.
NotificationsExtensions.Portable is a Portable Class Library (PCL) used to Create Windows 8.1 or Windows Phone 8.1 Tile, Toast and Badge Notification XML.
How and where to use the Reactive Extensions (Rx) ToObservable Extension method to turn a Task Parallel Library (TPL) Task into an IObservable.
Implementing GetHashCode is hard work and little understood. Learn how to implement GetHashCode as quickly and as simply as possible.
How and where to use Task Parallel Library (TPL) async and await with Reactive Extensions (Rx). Also, how to use TPL for awaiting observables.
Elysium Extra is an excellent Windows Presentation Foundation (WPF) SDK providing Metro styles for built in WPF controls and some custom controls.
Elysium is an excellent Windows Presentation Foundation (WPF) SDK (On CodePlex) providing Metro styles for built in WPF controls and some custom controls.
You should definitely consider using Reactive Extensions (Rx) is as a direct replacement for .NET Timers. This post will explain how.
MahApps Metro is an excellent Windows Presentation Foundation (WPF) SDK providing Metro styles for built in WPF controls and several custom controls.
Modern UI for WPF is an excellent Windows Presentation Foundation (WPF) SDK providing Metro styles for built in WPF controls and several custom controls.
Reactive Extensions (Rx) Advantages of using IObservable property naming conventions and comparison between C# events.
Reactive Extensions IObservable wrappers for C# events and hiding the C# events entirely from subscribers using explicit interface implementations.
You should definitely consider using Reactive Extensions (Rx) is as a direct replacement for C# events. This post will explain how.
The importance of using ConfigureAwait when using the Task Parallel Library (TPL) to improve performance and reduce context switching.