#255 – April 21, 2019
Try the new way to build internal tools
Some tools have an opinion about how you should do your job. We're pretty sure you're the expert. With Airtable, you can coordinate and customize every aspect of your internal apps in minutes, not days. Flexible bug tracking, on-duty schedules, team standups, and so much more. Try Airtable today!
8 Ways You can Cause Memory Leaks in .NET
Memory leaks are sneakily bad creatures. It’s easy to ignore them for a very long time, while they slowly destroy the application. With memory leaks, your memory consumption grows, creating GC pressure and performance problems. Finally, the program will just crash on an out-of-memory exception. In this article, we will go over the most common reasons for memory leaks in .NET programs. All examples are in C#, but they are relevant to other languages.
Little great things about Visual Studio 2019
A few days ago, we announced the general availability of Visual Studio 2019. But I’ve been using Visual Studio 2019 exclusively since the first internal build – long before the release of Preview 1 in December of 2018. During this time, there has been a lot of little features that have put a smile on my face and made me more productive.
Entity Framework Core 3.0 and SQL Server Performance Optimization
Many developers are complaining that the Entity Framework is not fast or it has a lack of performance. Subsequently, I have investigated the problem to find a root. In most cases, I have discovered that the Entity Framework/Core is not guilty.
When redundant type casts matter
This time around, we'll see that even Microsoft's own main C# editor Visual Studio doesn't quite get it right, and how an – according to Visual Studio – redundant operation in C# can cause results to change.
When you use a Dependency Injection (DI) Container, you should configure it according to the Register Resolve Release pattern. One aspect of configuration is to manage the lifetime of various services. If you're not careful, though, you may misconfigure lifetimes in such a way that a longer-lived service holds a shorter-lived service captive - often with subtle, but disastrous results. You could call this misconfiguration a Captive Dependency.