Skip to content

Sponsor: Do you build complex software systems? See how NServiceBus makes it easier to design, build, and manage software systems that use message queues to achieve loose coupling. Get started for free.

Learn more about Software Architecture & Design.
Join thousands of developers getting weekly updates to increase your understanding of software architecture and design concepts.


Follow @CodeOpinion

Troubleshooting StackOverflow Exceptions

Is your .NET application randomly crashing? In Production? Without any relevant application logs?  You may be hitting a StackOverflowException if you see exception code 0xc00000fd in the event log. Here’s how to start troubleshooting StackOverflow Exceptions. 0xc00000fd First take a look in your event log.  If you see a log similar to this: Faulting application name: MyApp.exe, version: 1.0.0.0, time stamp: 0xdfd8c80b Faulting module name: clr.dll, version: 4.7.2558.0, time stamp: 0x59d413ce Exception code: 0xc00000fd The important part here is the exception code 0xc00000fd is a StackOverflowException. Troubleshooting a .NET StackOverflowException First thing I would recommend is looking for any recursion… Read More »Troubleshooting StackOverflow Exceptions

Roundup #1

In addition to my regular blog posting, I thought it might be worthwhile to have a post weekly on various blog posts, videos, talks, tools, whatever that I found interesting through the week.  So this is the first of hopefully many roundups. Blazor, Razor, WebAssembly, and Mono by Dave Glick Really great blog post explaining how it all works.  I was actually working on a Blazor talk for my local user group and came across Dave’s post.  Really worth a read if you want to understand the basics of how Blazor, Razor, WebAssembly and Mono all fit together. RazorPageGenerator I… Read More »Roundup #1

ASP.NET Core Data Protection

Continuing from my last post on Configuring ASP.NET Core behind a Load Balancer, the next hurdle you may run into is with ASP.NET Core Data Protection. Specifically I was using Cookie Authentication (without Identity). In this scenario, ASP.NET Core’s Data Protection must share the same key ring and app identifier for each instance of your application.  This means if you are load balanced across multiple containers or even machines, you must configure ASP.NET Core’s Data Protection system. If you do not, the process that generates your authentication cookie (or bearer token) will be the only process that will be able… Read More »ASP.NET Core Data Protection