1
私はASP.NETコアを使用しています。私のコントローラの1人がさまざまな例外を投げるサービスを呼び出します。私は例外フィルタ(ミドルウェアではない)でそれらを処理したい。例外フィルタからのリダイレクト
public class MyHandlerAttribute : ExceptionFilterAttribute
{
public override void OnException(ExceptionContext c)
{
if (c.Exception is FooException) {
// redirect with arguments to here
}
else if (c.Exception is FooException) {
// redirect with arguments to there
}
else {
// redirect to main error action without arguments, as 500
}
base.OnException(c);
}
}
は、アクションフィルタとは異なり、例外フィルタは私にController
へのアクセス権を与えるものではありませんので、私はc.Result = controller.RedirectTo...()
を行うことはできません。
どうすればエラー処理にリダイレクトできますか?
もう1つは機能しません。 'context.Exception = null;'を設定しても最初のものが動作しますが、このタイプのリダイレクトでは引数を指定することはできません - 可能でしょうか? – grokky
2番目のオプションも機能します。しかし、 'context.ExceptionHandled = true;'を設定してください。 – juunas
@juunasもし私がそれをしたら、それは単に空白のページをレンダリングする...奇妙な! – grokky