Skip to content

Category: .Net

Hide JSON properties in the result set if not set or null, using .net core 3.1 and Newtonsoft

Need to hide properties in your JSON result for a .net core API. Add the following line in your Startup.cs file. Just like below.

opts.SerializerSettings.NullValueHandling = NullValueHandling.Ignore

services.AddMvc(options =>
                {
                    options.InputFormatters.RemoveType<Microsoft.AspNetCore.Mvc.Formatters.SystemTextJsonInputFormatter>();
		    options.OutputFormatters.RemoveType<Microsoft.AspNetCore.Mvc.Formatters.SystemTextJsonOutputFormatter>();
                })
                .AddNewtonsoftJson(opts =>
               {
                    opts.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
                    opts.SerializerSettings.Converters.Add(new StringEnumConverter(new CamelCaseNamingStrategy()));
                    opts.SerializerSettings.NullValueHandling = NullValueHandling.Ignore;
                })
                .AddXmlSerializerFormatters();

You already voted!
Leave a Comment

HTTP Error 500.35 – ANCM Multiple In-Process Applications in same Process (using IIS Express)

I got this error today and was causing me a headache. I stopped all apps running in IIS Express, tried switching releases, etc. But seems like this is a bug in Visual Studio 2019.

Stop your application, close the solution, delete the .vs folder in the solution, open it back up and it should work.

https://stackoverflow.com/questions/58246822/http-error-500-35-ancm-multiple-in-process-applications-in-same-process-asp-ne

You already voted!
Leave a Comment

.net core – launchSettings.json and gitignore

If your working with other developers this file should not be ignored within your .gitignore file. Its useful for environmental and other settings.

I’m not sure why the template I downloaded had it ignored. Seems like its been an issue for a while and has been corrected a few times.

https://stackoverflow.com/questions/47377058/should-i-ignore-launchsettings-json-file-from-being-committed-in-git

https://github.com/github/VisualStudio/issues/1405

You already voted!
Leave a Comment

Access Modifiers (C# Programming Guide)

All types and type members have an accessibility level, which controls whether they can be used from other code in your assembly or other assemblies. You can use the following access modifiers to specify the accessibility of a type or member when you declare it:

public

The type or member can be accessed by any other code in the same assembly or another assembly that references it.

private

The type or member can be accessed only by code in the same class or struct.

protected

The type or member can be accessed only by code in the same class or struct, or in a class that is derived from that class.

internal

The type or member can be accessed by any code in the same assembly, but not from another assembly.

protected internal

The type or member can be accessed by any code in the assembly in which it is declared, or from within a derived class in another assembly. Access from another assembly must take place within a class declaration that derives from the class in which the protected internal element is declared, and it must take place through an instance of the derived class type.

http://msdn.microsoft.com/en-us/library/ms173121.aspx

You already voted!
Leave a Comment

Redirect to HTTPS – Using URL Rewrite

I needed to redirect a HTTP website to HTTPS. I thought it was part of IIS, and I think it was at some point. Maybe in IIS 7.0.

But here is the code to redirect to HTTPS. I grabbed it from here http://ruslany.net/2009/04/10-url-rewriting-tips-and-tricks/.

You will also need to install the URL Rewrite module located here: http://www.iis.net/download/urlrewrite.

<rule name="Redirect to HTTPS" stopProcessing="true">  
  <match url="(.*)" />  
  <conditions>  
    <add input="{HTTPS}" pattern="^OFF$" />  
  </conditions>  
  <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />  
</rule>
You already voted!
Leave a Comment