редирект из global.asax не работает в MVC - PullRequest
1 голос
/ 18 сентября 2011

Я не могу перенаправить с Application_BeginRequest на моем сайте asp.net mvc.Я не уверен, почему это не работает ... Я подозреваю, что маршрутизация, но не совсем уверен, почему.

 /// <summary>
    /// Application_BeginRequest
    /// </summary>
    protected void Application_BeginRequest(object sender, EventArgs e)
    {           
         Response.Redirect("siteoffline.html");                     
    }

Firefox отображает это сообщение при попытке

The page isn't redirecting properly

Firefox has detected that the server is redirecting the
request for this address in a way that will never complete.

1 Ответ

4 голосов
/ 18 сентября 2011

Вы перенаправляете внутри Application_BeginRequest, который вызывается для каждого запроса.Поэтому, когда ваше приложение запускается, Application_BeginRequest запускается, и вы перенаправляете на siteoffline.html, и когда эта страница обслуживается, Application_BeginRequest запускается, и вы перенаправляете на siteoffline.html, и вы получаете точку бесконечного цикла.К счастью, FireFox останавливает это безумие после того, как обнаруживает, что вы злоупотребляете слишком большим количеством перенаправлений.

Вывод: никогда не перенаправляйте на страницу, которая является частью вашего веб-сайта, внутри события Application_BeginRequest, это все равно, что выстрелить себе вfoot.

Кстати, для перевода вашего сайта в режим обслуживания вы, вероятно, захотите использовать файл app_offline.htm в блоге Гу вместо того, чтобы изобретать колеса.

...