Asp.net core 如何在AspNet Core 1.1中注入MvcJsonOptions?
我不能使用静态Asp.net core 如何在AspNet Core 1.1中注入MvcJsonOptions?,asp.net-core,Asp.net Core,我不能使用静态jsonvert设置,在我的过滤器中,我需要根据当前MvcJsonOptions设置字符串格式: services.AddMvc().AddJsonOptions(x => { x.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); }); class ReturnBadRequestForInvalidModelFilter : IAsyncActi
jsonvert
设置,在我的过滤器中,我需要根据当前MvcJsonOptions
设置字符串格式:
services.AddMvc().AddJsonOptions(x =>
{
x.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
});
class ReturnBadRequestForInvalidModelFilter : IAsyncActionFilter
{
private readonly MvcJsonOptions _options;
public ReturnBadRequestForInvalidModelFilter(MvcJsonOptions options)
{
_options = options;
}
...
private string FormatPropertyName(string key)
{
if (string.IsNullOrEmpty(key))
return key;
return _options.SerializerSettings.ContractResolver is CamelCasePropertyNamesContractResolver
? char.ToLowerInvariant(key[0]) + key.Substring(1)
: key;
}
灵感来源于尝试使用IOptions
:
services.AddMvc().AddJsonOptions(x =>
{
x.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
});
class ReturnBadRequestForInvalidModelFilter : IAsyncActionFilter
{
private readonly MvcJsonOptions _options;
public ReturnBadRequestForInvalidModelFilter(MvcJsonOptions options)
{
_options = options;
}
...
private string FormatPropertyName(string key)
{
if (string.IsNullOrEmpty(key))
return key;
return _options.SerializerSettings.ContractResolver is CamelCasePropertyNamesContractResolver
? char.ToLowerInvariant(key[0]) + key.Substring(1)
: key;
}
公共类您的类
{
公共MvcJsonOptions JsonOptions{get;set;}
公共YourClass(IOOptions MVCJSoOptions)
{
JsonOptions=mvcJsonOptions.Value;
}
}
这样不行吗?它会出错吗?抱歉,您的问题不太清楚。它失败了,MvcJsonOptions
不是服务。