0

標準の ODataMediaTypeFormatters の動作をカスタマイズしようとしていますが、MediaTypeFormatter を拡張する別の型でそれらをラップすることで実現しました。例えば

var formatters = ODataMediaTypeFormatters
                   .Create(serialiserProvider, deserialiserProvider)
                   .Select(formatter => new Wrapper(formatter));

config.Formatters.InsertRange(0, formatters);

WebAPI 構成メソッドが実行された後、config.Formatters には 12 の項目が含まれます (そのうちの 7 つはラップされたフォーマッターです)。

ただし、応答がシリアル化されている場合、config.Formatters には 17 個の項目が含まれます。これは、標準の OData フォーマッタがある時点で再度追加されたためです。次に、ラップされたバージョンよりも、関連する標準フォーマッタが優先して使用されます。

この再追加がいつ発生し、それを防ぐことができるかどうか、またはどのように防ぐことができるかを誰かが知っていますか?

4

1 に答える 1