2016-12-29 8 views
0

理由のために私はカスタムのJsonConverterをASP.NET Coreで使用する必要があり、JsonInputFormatterと一緒に使用する必要があります。私が見つけた唯一の方法は、次のようにAddJsonOption拡張メソッドを使用することです:依存するカスタムJsonコンバータ

services 
    .AddMvc() 
    .AddJsonOptions(jso => jso.SerializerSettings.Converters.Add(new CustomConverter())) 

しかし、それは欠陥があります:CustomConverterが簡単に設定時に解決できないDIコンテナから依存関係を必要とします。 質問:ASP.NETコアJsonInputFormatterに依存するJsonConverterを提供するプログラマフレンドリーな方法はありますか?

答えて

1

すぐに回避するには、Configureメソッドに延期することです。

);

public Confiugre(IAppBuilder app, IOptions<MvcOptions> mvcOptions, IOptions<MvcJsonOptions> jsonOptions) 
{ 
    var formatter = mvcOptions.InputFormatters.OfType<JsonInputFormatter>().Single(); 
    jsonOptions.SerializerSettings.Converters.Add(
     new CustomConverter(formatter)); 

    ... 
} 

はまだしかし、ダーティビットを感じます

関連する問題