Обработка тайм-аута сеанса ASP.NET MVC в Global.asax - PullRequest
0 голосов
/ 07 июля 2011

Как перенаправить поток программы на действие контроллера. Я хотел бы смоделировать MVC RedirectToAction («ActionName», «ControllerName», значения маршрута) внутри Global.asax.cs. Как я могу это сделать?

1 Ответ

4 голосов
/ 07 июля 2011

Если вы используете MVC 3, я бы порекомендовал написать свой actionfilter , который затем вы можете применить глобально .

Небольшой пример кода:

public class HandleSessionTimeoutAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(FilterExecutingContext filterContext)
    {
        // Do whatever it is you want to do here.
        // The controller and request contexts, along with a whole lot of other
        // stuff, is available on the filter context.
    }
}

А потом в вашем Global.asax.cs:

protected void Application_Start()
{
    AreaRegistration.RegisterAllAreas();

    // Register global filter
    GlobalFilters.Filters.Add(new HandleSessionTimeoutAttribute());

    RegisterGlobalFilters(GlobalFilters.Filters);
    RegisterRoutes(RouteTable.Routes);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...