0

カスタム例外フィルター属性があります:

 public class RedirectOnErrorAttribute : FilterAttribute, IExceptionFilter {

        #region IExceptionFilter Members

        public void OnException(ExceptionContext filterContext) {
            if(filterContext.ExceptionHandled) return;

            filterContext.Controller.TempData["Exception"] = filterContext.Exception;
            filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary(new {area = "Desktop", controller = "Exception", action = "HandleError" }));
            filterContext.ExceptionHandled = true;
            filterContext.HttpContext.Response.Clear();
            filterContext.HttpContext.Response.StatusCode = 500;
            filterContext.HttpContext.Response.TrySkipIisCustomErrors = true;
        }

        #endregion
    }

'ExceptionController'のアクション'HandleError'には、いくつかのビジネスロジックが含まれています。
'HandleError'アクションで

public ActionResult HandleError() {
        Exception ex = (Exception)TempData["Exception"];
        logger.Log(ex);
}

ex変数では、常にメッセージ「ハンドラーの子リクエストの実行中にエラーが発生しました」System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerAsyncWrapper'で例外が発生します。
私の問題を解決する方法は?

4

1 に答える 1

0

を見てみてくださいex.InnerException。null でない場合は、より有用な情報が含まれている可能性があります。

于 2012-09-26T08:12:13.327 に答える