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


Roundup #9: Razor Email Templates, AWS Lamba .NET Core 2.1, Contract First API Design with OpenAPI V3

Here are the things that caught my eye this week.  I’d love to hear what you found most interesting this week.  Let me know in the comments or on Twitter. Walkthrough: Creating an HTML Email Template with Razor and Razor Class Libraries and Rendering it from a .NET Standard Class Library HTML emails are the absolute worst.  Inlined styles.  Nested tables.  Different apps and platforms render the markup differently.  It’s an absolute train wreck.  However, sending plain text emails isn’t a great way to impress your users and often makes emails look fake or like spam.  So fine, HTML emails. … Read More »Roundup #9: Razor Email Templates, AWS Lamba .NET Core 2.1, Contract First API Design with OpenAPI V3

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:, 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

Zero Downtime Deployments with Octopus Deploy

If you’re using Octopus Deploy and AWS with their Elastic Load Balancer (v2) in front of EC2 instances that either self host or sit behind IIS, you can setup zero downtime deployments fairly easily. Although this blog post will focus on AWS ELB, the same strategy can be applied to Azure. Rolling Deployments First is to configure your process that deploys your web application within Octopus.  Octopus has the ability to perform the rolling deployments pattern: Rolling deployments are a pattern whereby, instead of deploying a package to all servers at once, we slowly roll out the release by deploying… Read More »Zero Downtime Deployments with Octopus Deploy