【问题标题】:Dealing with errors in BufferedMediaTypeFormatter derived class处理 BufferedMediaTypeFormatter 派生类中的错误
【发布时间】:2013-10-30 14:09:23
【问题描述】:

我正在实现一个 BufferedMediaTypeFormatter 以在 Web API 项目中使用,但是在覆盖 BufferedMediaTypeTormatter 上的 ReadFromStream 时,我找不到有关如何处理错误的任何详细信息。

我知道我应该将错误写入IFormatterLogger.LogError 方法,但是如果输入无效,我应该返回什么?我应该返回null吗?还是抛出异常?如果是,应该抛出哪个异常?

【问题讨论】:

    标签: c# .net asp.net-web-api mediatypeformatter


    【解决方案1】:

    这取决于您正在寻找的用户体验类型。

    如果您抛出异常,Web API 将缩短请求的处理并返回 500 Internal Server 响应(根据您的 HttpConfiguration.IncludeErrorDetailPolicy 设置,有或没有异常详细信息)。

    如果您通过 IFormatterLogger.LogError 记录错误(在这种情况下您可以返回 null),则请求处理没有短路,用户需要检查 ModelState有效性来确定是否有任何错误。

    【讨论】:

    • 谢谢,我会选择后者。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-10
    • 1970-01-01
    • 1970-01-01
    • 2013-03-28
    • 1970-01-01
    • 2017-09-23
    • 1970-01-01
    相关资源
    最近更新 更多