处理BufferedMediaTypeFormatter派生类中的错误

时间:2013-10-30 14:09:24

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

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

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

1 个答案:

答案 0 :(得分:0)

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

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

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