Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.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# CreateResponse()和CreateErrorResponse()之间有什么区别?_C#_Asp.net Web Api - Fatal编程技术网

C# CreateResponse()和CreateErrorResponse()之间有什么区别?

C# CreateResponse()和CreateErrorResponse()之间有什么区别?,c#,asp.net-web-api,C#,Asp.net Web Api,我已经编写了一个端点,它的返回类型是HttpResponseMessage。现在我对创建响应感到困惑-我们可以使用CreateResponse()或CreateErrorResponse()创建响应,两者都返回HttpResponseMessage。当我们使用CreateResponse()和CreateErrorResponse()时?如果参考文档,您将看到,CreateResponse返回Ok()结果,而CreateErrorResponse返回代码处理的异常、modelstate错误或任何

我已经编写了一个端点,它的返回类型是HttpResponseMessage。现在我对创建响应感到困惑-我们可以使用CreateResponse()或CreateErrorResponse()创建响应,两者都返回HttpResponseMessage。当我们使用CreateResponse()和CreateErrorResponse()时?

如果参考文档,您将看到,
CreateResponse
返回Ok()结果,而
CreateErrorResponse
返回代码处理的异常、modelstate错误或任何其他形式的错误

参考资料:

    • CreateResponse

      是一个帮助器方法,它执行内容协商并创建一个HttpResponseMessage,其中System.Net.Http.ObjectContent`1的实例作为内容,如果可以找到格式化程序,则OK作为状态代码。如果未找到格式化程序,此方法将返回状态为406 NotAcceptable的响应

      CreateErrorResponse

      也是一个帮助程序方法,该方法创建一个HttpResponseMessage,该消息表示System.Net.Http.ObjectContent`1实例的错误,该实例将HttpError包装为模型状态modelState。如果未找到格式化程序,此方法将返回状态为406 NotAcceptable的响应

      何时使用:

      通常,当您的请求将获得成功响应时,您必须将
      CreateResponse
      与http状态代码一起使用。另一方面,如果您的请求遇到服务器端异常,最好使用相关错误代码处理
      CreateErrorResponse

      请参阅

      希望这会有所帮助