私はhttpmoduleからリダイレクトしようとしました。私は、次のコードを用意してhttpModulesセクションにリンクしています。このエラーイベントは期待どおりに発生しますが、これは/ Error/Indexページには反映されませんでした。asp.net mvc 2、httpmodule routedataリダイレクト
public class MyHttpModule : IHttpModule {
public void Dispose() { }
public void Init(HttpApplication context) {
context.Error += delegate {
var exception = context.Server.GetLastError();
context.Response.Clear();
context.Response.TrySkipIisCustomErrors = true;
context.Server.ClearError();
var routeData = new RouteData();
routeData.Values.Add("controller", "Error");
routeData.Values.Add("action", "Index");
IController errorController = new ErrorController();
errorController.Execute(new RequestContext(new HttpContextWrapper(HttpContext.Current), routeData));
};
}
}
してくださいアドバイス、 おかげ
私はポスト、リダイレクトを使用していて、取得したパターンを。問題は、EndRequestイベントがPostに対してエラーを投げることです。だから、別のページにリダイレクトするので、エラーページを表示する機会はありません。このような状況をどのように処理すればよいか分かりません。私がErrorController + RouteDataとues Response.Redirect( "...")を使用しないとうまくいきます。とても興味深い! – Fei