Skip to main content

Posts

Globally configuring values for JSON Serializer in ASP.NET Core 3.1

This article will focus on how one can set certain constraints on the given data type for JSON serialization and that too at the application level, which means changes need to be done at a global level rather than doing for specific custom class or property. We will also see, how one can fallback to default settings, post this application level change. Let’s understand this with the help of an example. Making application level changes for JSON serialization Here problem statement is, we want all the float values to be restricted to 3 decimal places. Now, one way to achieve this is to decorate all the float properties in all the model classes with specific attribute using  [JsonConverter(typeof(…)] . With above attribution, one can indeed achieve the goal of conversion or data formatting, but what if there are so many float values across the application. Is it feasible to go and change each and every single float property under every model class? I feel, NO :( So, the soluti

ASP.NET Technical Guru Award - July 2019

Grabbed the award from Microsoft Technet. This time it's Silver medal :)

Avoid duplication of ModelState.IsValid in ASP.NET Core

Generally, whenever something is to be saved to the database or to any other place, as a best practice almost everyone use to validate the state of the model. So, if state of model is valid, we proceed and if model state is invalid, we handle it as a bad request. This looks something like this: If(!ModelState.IsValid) { // create bad request object } So, all these were done by using the IsValid property. Problem Now what if we have to perform the same validation for all the models. Are we going to write the same validation in each and every controller? Of course, No. Solution Rather than duplicating the same code in each and every controller, we can create a global filter. This global filter has few methods, but for our purpose we can go with OnActionExecuting . public class ValidateModelStateFilter : ActionFilterAttribute { public override void OnActionExecuting(ActionExecutingContext context) { if (!context.ModelState.Is

Received MVP Award for the 3rd time

Another amazing news received this week. MVP award is in my hand for the 3rd time.

ASP.NET Technical Guru - May 2019

Once again grabbed the award from Microsoft Technet. This time it's Silver medal :)

Build errors dialog in Visual Studio

Background When you are in between of writing your logic and by mistake you pressed F5, what will happen? Boom… you will lend up with below dialog due to compilation errors: Now think about it. If we are writing a code it means we need that to be executed whenever we are running the application. Isn’t it? It’s very-very rare case when someone still would like to execute previous logic. At least for me, I never ever want this to happen. Solution So, how to get rid of this rarely used prompt. There are two ways: First, Simply check the checkbox ‘ Do not show this dialog again’ . But for me, on one of my machines this checkbox has not even appeared. Hence, I opted for second option. Second, go to Tools >> Options… >> Projects and Solutions >> Build and Run. On right side panel, just change the value in dropdown displayed under ‘ On Run, when build or deployment errors occur: ’ to  ‘ Do not Launch ’  and we are done.

Creating ASP.NET Core 2.2 Application Step-by-Step

This article will walk you through the creation of ASP.NET Core application using ASP.NET Core 2.2 from scratch, by utilizing the capabilities of package manager, EF Core, Identity API, Razor Class Library, etc. So, rather than being more theoretical, this article will focus mainly on the implementation part. Wherever required, I’ll throw some light on the conceptual part too. To know more, you can either go here or here .