C# Code Quality

#285 – November 17, 2019

sponsor

C# Developers are in demand on Vettery

Vettery is an online hiring marketplace that's changing the way people hire and get hired. Ready for a bold career move? Make a free profile, name your salary, and connect with hiring managers from top employers today.

this week's favorite

C# Code Quality

Improving a codebase can be a difficult task. The larger the codebase, the more difficult it becomes to find and fix poor code manually. When confronted with a new codebase, metrics are needed to determine what needs to be improved. This article discusses some tools to get the metrics, and the series discusses how to use the information to make targeted refactors. 

Debugging System.NullReferenceException

Time for another post in the series Debugging common .NET exceptions. Today's exception is, without a doubt, the error most people have experienced: System.NullReferenceException. The exception happens when you try to invoke a reference that you were expecting to point to an object but in fact, points to null. Let's get started!

Bypassing Low Type Filter in .NET Remoting

I recently added a new feature my .NET remoting exploitation tool which is many cases allow you to exploit an arbitrary service through serialization. This feature has always existed in the tool, if you passed the useser option, however it only worked if the service had enabled Full Type Filter mode, the default for remoting services is Low Type Filter which my tool couldn't easily exploit. I'm going to explain how I bypassed it Low Type Filter mode in the latest tool.

Mediator Pattern C#

The Mediator pattern in C# enables objects to communicate, without knowing each other’s identities. It also encapsulates a protocol that objects can follow. You can think of a Mediator object as a kind of a coordinator; that handles traffic between appropriate parties based on its own logic.

ASP.NET Core Web API Versioning

An iteration and evolutionary changes of an ASP.NET Core Web API is handled by Versioning. Versioning of an API gives confidence to the clients which consumes API for a long time. Any changes or development of an API will be accessible using the new version and it won't cause issues to the clients consuming the old version of API.

projects

Jerrycurl: A Razor-powered ORM for SQL and .NET lovers

Tired of unmanageable or underperforming data access? Organize and optimize your data layer by bringing MVC design and Razor SQL to the front line of your code! Never miss a reference with our type-safe Razor extensions. Never call your database twice by mapping complete object graphs with any type of join. Native support for parameters, lists, batching, JSON, table-valued parameters and much more. Install from NuGet and get started today!

newsletters