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 で応答します。
どうもありがとう。