Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 如何在AspNet Core 1.1中注入MvcJsonOptions?_Asp.net Core - Fatal编程技术网

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
不是服务。