Thomas Ardal

Thomas Ardal

Meet Thomas, the founder and developer behind elmah.io. Thomas blogs about everything technical from C# and ASP.NET Core to machine learning.

Denmark
313 posts
Migrating the elmah.io API to ASP.NET Core

We just launched a brand new version of our API. The big difference is that the API is now running on ASP.NET Core (instead of ASP.NET Web API). The new API is backward compatible with all of the existing integrations already using Elmah.Io.Client version 3.x. ...

Structured logging vNext

We have had support for structured logging on elmah.io ever since we released the first integrations with logging frameworks like Serilog and NLog. With today's release, we have made a range of improvements which qualify for an announcement post. When logging messages to elmah.io from a ...

Web.config location element demystified

I haven't actually met a lot of people who knew the details about the hierarchy of Web.config files and how to utilize the location element. In fact, I've heard multiple people ask "why is there a Web.config file in the Views folder of ...

Web.config redirects with rewrite rules - https, www, and more

TOC Rewrite rules are a powerful feature in IIS. Common tasks like redirecting www to non-www (or the other way around), implementing canonical URLs, redirecting to HTTPS, and similar tasks are documented right there in your Web.config file. In this post, you will learn about the syntax of rewrite ...

Instant errors on SMS from ASP.NET Core with Twilio and elmah.io

This post was originally published on the Twilio blog: https://www.twilio.com/en-us/blog/real-time-sms-error-messages-asp-net-core-elmah-io Getting instant notifications when an error happens on a website can mean life and death for a business. The faster developers fix the bug, the fewer users get frustrated with your website. Using elmah. ...

Web.config transformations - The definitive syntax guide

Back when Visual Studio 2010 was the coolest kid on the block, everyone talked about the new Web.config transformation feature. The intentions with transformations were a bit different back then, but still very relevant for ASP.NET, MVC, and Web API projects. In this post, I'll explain ...

Debugging System.AccessViolationException - DllImport hell

For this post in the series Debugging common .NET exceptions, I'll present an exception that will be uncommon for most of you and cause recurring nightmares for the rest: System.AccessViolationException. The exception typically happens when unmanaged code tries to read or write from/to memory that hasn& ...

Debugging System.AggregateException - even in async code

We are here once again to help you debug common .NET exceptions. This time I want to help you debug the rather generic System.AggregateException. As the name implies, AggregateException is used to batch one or more exceptions together in a single exception. In this post, I'll show ...

The ultimate guide to connection strings in web.config

TOC Connection strings in web.config can be both powerful and challenging. The times were you would just remote desktop to production and change settings inside your ASP.NET web.config file is long gone. So, should you keep specifying connection strings using the connectionStrings element in web.config? Stay ...