在响应 JSON 的 ASP.NET ASMX WebMethod 中,我可以同时抛出异常并设置 HTTP 响应代码吗?我想如果我抛出一个 HttpException,状态码会被适当地设置,但它不能让服务响应任何东西,除了 500 错误。
我尝试了以下方法:
[WebMethod]
[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
public void TestWebMethod() {
throw new HttpException((int)HttpStatusCode.BadRequest, "Error Message");
}
还:
[WebMethod]
[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
public void TestWebMethod() {
try {
throw new HttpException((int)HttpStatusCode.BadRequest, "Error Message");
}
catch ( HttpException ex ) {
Context.Response.StatusCode = ex.GetHttpCode();
throw ex;
}
}
这些都以 500 响应。
非常感谢。