我正在使用.net web api开发一些宁静的Web服务. 在某些情况下,我需要向客户端返回404(NotFoundStatus)或400(BadRequest). 看起来在框架中有很多方法可以做到这一点.下面列出了我所知道的一些方法
在某些情况下,我需要向客户端返回404(NotFoundStatus)或400(BadRequest).
看起来在框架中有很多方法可以做到这一点.下面列出了我所知道的一些方法.
是否有任何指导方针选择使用哪一个来回复这些回复?
return Request.CreateErrorResponse(HttpStatusCode.NotFound, "Error"); return Request.CreateResponse(HttpStatusCode.NotFound, "Error"); throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound) { Content = new StringContent("Error") });> CreateErrorResposne扩展用于创建内容协商响应,但它还具有应将多少此错误信息发送回客户端的逻辑.我们的想法是不向客户透露太多可能是安全问题的信息.例如,httpConfig.IncludeErrorDetailPolicy确定将多少信息发送回客户端. >上面的CreateResponse扩展也用于创建内容协商响应,但它没有我上面提到的CreateErrorResponse的任何其他逻辑. >在第三种情况下,响应不是内容协商的,您将始终以text / plain格式发回内容,并且它没有CreateErrorResposne中的其他逻辑