【问题标题】:How to access HttpConfiguration.Formatters.JsonFormatter for configuration?如何访问 HttpConfiguration.Formatters.JsonFormatter 进行配置?
【发布时间】:2016-09-16 15:26:19
【问题描述】:

大多数时候,我在我的 Web API 项目中使用类似以下的方法来访问 JsonFormatter。

var xxx = config.Formatters.JsonFormatter;

(其中configHttpConfiguration 的一个实例。) 但是,我看到其他一些代码像这样抓取它:

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

选择第二个例子而不是第一个例子有什么可能的原因吗?也许JsonFormatter 属性在某些时候不可用?

【问题讨论】:

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


    【解决方案1】:

    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&lt;JsonMediaTypeFormatter&gt;().First(); 将抛出一个例外。

    【讨论】:

    • 谢谢!我想我可能应该花一分钟打开 ILSpy 而不是两分钟发这篇文章 :)
    猜你喜欢
    • 1970-01-01
    • 2011-12-05
    • 1970-01-01
    • 2011-05-18
    • 2011-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多