Return a shared contract resolver
Return a shared contract resolver from CreateSerializerSettings for performance
This commit is contained in:
parent
628dfc39c1
commit
07e975a0ed
|
|
@ -13,6 +13,13 @@ namespace Microsoft.AspNetCore.Mvc.Formatters
|
||||||
{
|
{
|
||||||
private const int DefaultMaxDepth = 32;
|
private const int DefaultMaxDepth = 32;
|
||||||
|
|
||||||
|
// return shared resolver by default for perf so slow reflection logic is cached once
|
||||||
|
// developers can set their own resolver after the settings are returned if desired
|
||||||
|
private static readonly DefaultContractResolver SharedContractResolver = new DefaultContractResolver
|
||||||
|
{
|
||||||
|
NamingStrategy = new CamelCaseNamingStrategy(),
|
||||||
|
};
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Creates default <see cref="JsonSerializerSettings"/>.
|
/// Creates default <see cref="JsonSerializerSettings"/>.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -21,10 +28,7 @@ namespace Microsoft.AspNetCore.Mvc.Formatters
|
||||||
{
|
{
|
||||||
return new JsonSerializerSettings
|
return new JsonSerializerSettings
|
||||||
{
|
{
|
||||||
ContractResolver = new DefaultContractResolver
|
ContractResolver = SharedContractResolver,
|
||||||
{
|
|
||||||
NamingStrategy = new CamelCaseNamingStrategy(),
|
|
||||||
},
|
|
||||||
|
|
||||||
MissingMemberHandling = MissingMemberHandling.Ignore,
|
MissingMemberHandling = MissingMemberHandling.Ignore,
|
||||||
|
|
||||||
|
|
@ -38,4 +42,4 @@ namespace Microsoft.AspNetCore.Mvc.Formatters
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue