如何访问HttpConfiguration.Formatters.JsonFormatter进行配置?

时间:2016-05-19 15:57:29

标签: asp.net json asp.net-web-api configuration asp.net-web-api2

大多数时候我使用类似下面的东西来访问我的Web API项目中的JsonFormatter。

var xxx = config.Formatters.JsonFormatter;

(其中configHttpConfiguration的一个实例。)但是,我看到其他一些代码可以抓住它:

var xxx = config.Formatters.OfType<JsonMediaTypeFormatter>().First();

第一个选择第二个例子背后是否有任何可能的推理?也许JsonFormatter属性在某些时候不可用?

1 个答案:

答案 0 :(得分:0)

config.Formatters.JsonFormatter内部does almost the same thing

public JsonMediaTypeFormatter JsonFormatter
{
    get { return Items.OfType<JsonMediaTypeFormatter>().FirstOrDefault(); }
}

我认为您提供的代码的唯一区别是,如果由于任何原因HttpConfig.Formatters属性没有任何JsonMediaTypeFormatter,则对JsonFormatter的调用将返回null ,而config.Formatters.OfType<JsonMediaTypeFormatter>().First();将抛出异常。