Posts
All the articles I've posted.
-
Talk - Exploring .NET memory management - a trip down memory lane - CodeStock 2019 - Knoxville, TN - USA
That was fun! I had the opportunity to present at CodeStock 2019 in Knoxville, TN (USA). The conference is for the community, by the community, which means lots of enthusiast people around. The talk I did was Exploring .NET memory management - a trip down memory lane. Slides are available below. Demo code is available from GitHub.
-
Talk - Approaches to application request throttling and Microservices for building an IDE - The innards of JetBrains Rider - ConFoo - Canada - Montreal
This week, I had the privilege to visit ConFoo Montreal for the third time. It’s a great conference that has attendees interested in lots of technologies such as PHP, Java, .NET and more. Even better: I got to deliver two talks: As promised, here are the slides for both.
-
Talk - Microservices for building an IDE - The innards of JetBrains Rider - TechDays 2019 - Finland - Helsinki
The nice folks of TechDays Finland provided me with the opportunity to speak about Microservices for building an IDE - The innards of JetBrains Rider. It was nice to be able to talk about some of the internals, architecture and design decisions that were made while building a .NET IDE - Rider. If you’re interested in the slides, find them below. This story is also avilable as an article on CODE Magazine: Building a .NET IDE with JetBrains Rider.
-
ASP.NET Core on IIS Express - Empty error starting application
Usually on my development machine, I run ASP.NET Core applications in Kestrel. It’s easy to do, the project templates .NET Core provide create a nice launchSettings.json to start it from the command line, etc. However, I was asked to help someone out with hosting ASP.NET Core in IIS Express. Great! The default launchSettings.json contain an entry for that as well, so I ran dotnet run --launch-profile "IIS Express".
-
Unit testing for ValidateAntiForgeryToken and clever navigation in the ReSharper/Rider test runner
We all know it’s important to prevent Cross-Site Request Forgery (CSRF) attacks against our application. Unfortunately, our inherited code base has zero measures implemented - not one action methods with a [ValidateAntiForgeryToken] attribute in sight!
-
Tracking down action methods that need ValidateAntiForgeryToken using Structural Search and Replace
As discussed in the previous post, we all know it is important to perform validations to prevent a Cross-Site Request Forgery (CSRF) attack against our application. Imagine inheriting a code base that has zero measures implemented? How would you find which action methods need a [ValidateAntiForgeryToken]? Today, we will look at using ReSharper to find all action methods that need [ValidateAntiForgeryToken] added. In this series:
-
Help, I've inherited an ASP.NET MVC Core code base with no Cross-Site Request Forgery (CSRF) measures!
As ASP.NET MVC developers, whether ASP.NET MVC 5 or ASP.NET MVC Core, we all know it is important to perform certain validations to prevent a Cross-Site Request Forgery (CSRF) attack against the application we are building. The ASP.NET MVC provides the @Html.AntiForgeryToken() helper which we can use to add a hidden field in the form we are posting, and a [ValidateAntiForgeryToken] attribute which we can decorate our action method with and instructs the framework to validate the posted token is valid (or was forged).
-
Talk - Become a productive .NET developer with JetBrains Rider - JetBrains Day - South Korea - Seoul
At JetBrains Day Seoul, I had the opportunity to speak about How to become a productive .NET developer with JetBrains Rider.
-
Talk - Exploring .NET's memory management – a trip down memory lane - JetBrains Day - South Korea - Seoul
At JetBrains Day Seoul, I had the opportunity to speak about Exploring .NET’s memory management – a trip down memory lane.
-
Registering a type as an interface and as self with ASP.NET Core dependency injection
While I am a big fan of Autofac to serve as the framework for making Inversion of Control (IoC) and Dependency Injection (DI) work in an application, it is quite convenient in simple projects to use the built-in dependency injection in ASP.NET Core. While simple to replace the default one with Autofac, the default one is often sufficient. Unless it’s not! Consider the following component registration: With the default Microsoft.Extensions.DependencyInjection package in ASP.NET Core, we can now consume an ICustomerService in, for example, our controllers: