一般的なエラー処理を実装しようとしています。
public partial class SomePage : System.Web.UI.Page
{
//...
[WebMethod()]
public static int SomeMethod()
{
//... some code
//... exception
}
//...
}
通常のリクエストは global.asax で処理できますが、静的な WebMethods は Application_BeginRequest または Application_Error を通過しません。ExceptionFilterAttribute から派生し、OnException オーバーライドを使用して属性を記述しようとしましたが、どちらも機能しませんでした。
では、誰がそれらの要求を処理するのでしょうか?
クライアント呼び出しは、以下の jQuery ajax リクエストを通じて行われます。
$.ajax({
type: "POST",
url: "SomePage.aspx/SomeMethod",
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (response) {
someVar = response.d;
},
error: function (a, b, c) {
console.log(a);
// handle
}
});