C# CreateResponse()和CreateErrorResponse()之间有什么区别?
我已经编写了一个端点,它的返回类型是HttpResponseMessage。现在我对创建响应感到困惑-我们可以使用CreateResponse()或CreateErrorResponse()创建响应,两者都返回HttpResponseMessage。当我们使用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错误或任何
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
请参阅
希望这会有所帮助