Остановить обработку запроса и перенаправить в файл - PullRequest
1 голос
/ 27 августа 2011

Привет, у меня есть приложение mvc2, где я хочу остановить обработку приложения, когда файл настроек установлен в автономный режим, и отобразить автономную страницу для пользователя.

Я решил создать в global.asax.cs переключатель, который будетпроверьте, что веб-приложение находится в автономном режиме, и в ожидании результата оно будет перенаправлено на автономную страницу или продолжит обработку страницы.

однако, когда я пытаюсь запустить его с этим кодом, я получаю ошибку:

Ошибка сервера в приложении '/'.Ответ не доступен в этом контексте.Описание: во время выполнения текущего веб-запроса произошло необработанное исключение.Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.

Сведения об исключении: System.Web.HttpException: Ответ не доступен в этом контексте.

Ошибка источника:

Строка 25: if (! This.IsApplicationOnline ()) Строка 26:
{Строка 27: Response.Redirect ("~ / Content / offline.html", true);Строка 28:} Строка 29: else

Исходный файл: * \ Global.asax.cs Строка: 27

Трассировка стека:

[HttpException (0x80004005): Ответ являетсяв этом контексте недоступно.] System.Web.HttpApplication.get_Response () + 3002456
easyccms.WebUI.MvcApplication.Application_Start () в * Global.asax.cs: 27

Мой код выглядит следующим образом

protected void Application_Start()
        {
            if (!this.IsApplicationOnline())
            {
                Response.Redirect("~/Content/offline.html", true);
            }
            else
            {
                AreaRegistration.RegisterAllAreas();
                log4net.Config.XmlConfigurator.Configure();
                RegisterRoutes(RouteTable.Routes);
            }
        }

1 Ответ

2 голосов
/ 27 августа 2011

Хорошо, я нашел решение.

Я должен был указать, какой это ответ, и поэтому: добавил System.Web.HttpContext.Current

, и это работает.Теперь я полагаю, что может быть больше, чем httpcontext

System.Web.HttpContext.Current.Response.Redirect("~/Content/offline.html", true);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...