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

.NET Core

Roundup #2

dotMemory Unit dotMemory Unit is a unit testing framework which allows you to write tests that check your code for all kinds of memory issues. You can now extend NUnit, MSTest or another .NET unit testing framework with the functionality of a memory profiler. Perfect fit for any workflow: integrated with Visual Studio, works with stand-alone unit test runners, Continuous Integration ready. Last but not least, dotMemory Unit is free. This week I was running into some memory issues with 3rd party library.  I just stumbled up on dotMemory Unit and proved to be really useful to verify no memory… Read More »Roundup #2

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

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