Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 处理BufferedMediaTypeFormatter派生类中的错误_C#_.net_Asp.net Web Api_Mediatypeformatter - Fatal编程技术网

C# 处理BufferedMediaTypeFormatter派生类中的错误

C# 处理BufferedMediaTypeFormatter派生类中的错误,c#,.net,asp.net-web-api,mediatypeformatter,C#,.net,Asp.net Web Api,Mediatypeformatter,我正在实现一个用于Web API项目的BufferedMediaTypeFormatter,但是我找不到在BufferedMediaTypeToMatter上重写ReadFromStream时如何处理错误的任何细节 我知道我应该向IFormatterLogger.LogError方法写入错误,但是如果输入无效,我应该返回什么?我应该返回null吗?或者抛出异常?如果是这样,应该抛出哪个异常?这取决于您正在寻找的用户体验类型 如果抛出异常,Web API将缩短请求的处理,并返回500内部服务器响应

我正在实现一个用于Web API项目的BufferedMediaTypeFormatter,但是我找不到在BufferedMediaTypeToMatter上重写
ReadFromStream
时如何处理错误的任何细节


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

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

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


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

谢谢,我选择后者。