我们有一个处理数据库请求的C#AJAX服务器,我们希望在异常时返回一个400/403/500状态码,以便我们可以了解发生在客户端。但是,我们回复的内容是响应正文中的“错误请求”。如何使用C#/ ASP.Net返回responseText中的错误
例如,如果驾驶员ADO.Net返回该消息:传递给LEFT或SUBSTRING函数
无效长度参数。 无法将值NULL插入'--COLUMN--'列中,表 '--DATABASE.SCHEMA.TABLE--';列不允许有空值。 INSERT 失败。该语句已终止。
然后我们的AJAX服务器直接返回这样的文字:
坏请求
我已经看过在Chrome充分响应头并没有什么甚至远程类似于此错误消息那里。这是我们用来发送错误返回的代码:
catch (Exception ex)
{
//Response.TrySkipIisCustomErrors = true;
Response.StatusCode = (int)HttpStatusCode.SC_BAD_REQUEST;
Response.Write(ex.Message);
Response.Flush();
}
在Java/JSP相当于这台服务器,我们正在使用此代码正确的行为:
} catch (Exception e) {
response.sendError(response.SC_BAD_REQUEST, e.getClass() + " : " + e.getMessage());
}
将此添加到web.config中有诀窍 - 非常感谢! ' ' –
Graham