如何从Web表单请求返回HTTP 400 - 错误请求错误?

如何从Web表单请求返回HTTP 400 - 错误请求错误?

问题描述:

主题几乎说明了一切。我有一个EstateReport Web窗体,必须使用EstateId请求参数调用。我想返回一个合适的HTTP错误,这个参数我们不存在。我如何返回HTTP错误400作为我的回应?如何从Web表单请求返回HTTP 400 - 错误请求错误?

在一个切线,我应该返回一个错误,如果需要的参数不存在,这是我的感觉是比较正确的,或重定向到搜索页的报告,这是对用户更友好?

从我了解的形式需要一个参数以有意义的方式来显示结果

左右。 400是一个错误的请求,虽然我理解你的想法,规范指出:

“由于格式错误,服务器无法理解请求,客户端不应该不加修改地重复请求。

从最纯粹的意义上讲,如果有人要求说“EstateReport.aspx”没有参数,服务器仍然可以解释并回复一个适当的响应,所以它不是最广泛意义上的“不良请求”。

我会建议你检测缺少参数,并通过链接呈现相应的错误消息,通过某种方式选择合适的“estateId”,因此当需要EstateReport时,参数为当下。

+0

感谢输入@ KD7,但我也在考虑该报告的网址,这样的错误信息应该是机器可读和状态代码是机器可读的。 – ProfK

+0

啊,我明白了......我只是认为人类会通过浏览器请求页面。 – kd7

+0

到目前为止,这将是只有人类,但我经常会犯思维超前太多。 :-)很可能是服务请求报告,然后将它的PDF版本发布给订阅者。我不希望他们全部通过电子邮件发送PDF格式的错误消息。 – ProfK

,您可以:

throw New HttpException(400, "Bad Request"); 

Response.StatusCode = 400; 
Response.End(); 

,但我有同样的想法如下KD7 - 为什么不显示,让他们知道什么是错的错误信息到客户端?被机器要求

+0

最好避免Response.End()。 http://*.com/a/11505401/991267 –