At Raygun, we’re a pretty polyglot group of developers. Various parts of our code base are written in different languages and frameworks — whatever is best for the job. That said, large parts of Raygun written with.NET, and we’re big.NET fans. Given the prevalence of C# applications (C# has been in the top 5 on the TIOBE index for about 10 years!) and the massive scale of data Raygun deals with, we’re often called on to do C# optimization work.
For a recent feature, I had to download a batch of files from an internal website written in ASP.NET Core. Zipping the files before downloading them, turned out as a great way of easily implementing multi-file download. .NET offers all of the needed features and in this post, I'll show you how to implement it. To get started, I'll create a new ASP.NET Core website: I'm picking the MVC template, but none of the zip-related code is specific to MVC.
While developing elmah.io support for WPF, I had the chance to look into WPF for the first time in many years. I couldn't stop myself from digging down into all sorts of details about how logging has evolved in WPF since I last wrote a WPF app. In this post, I'll share some of the findings I made in this rediscovering journey.