localhost перенаправил вас слишком много раз в mvc - PullRequest
0 голосов
/ 05 февраля 2020

я написал код с условием в глобальном asax, но что происходит, когда условие становится истинным, коды идут бесконечными циклами и запускаются там и там код выглядит следующим образом ::: In Route.Config

    public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("favicon.ico");
            routes.IgnoreRoute("favicon-zurich.ico");
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                //defaults: new { controller = "Home", action = "IndexSideMenu", id = UrlParameter.Optional }
                defaults: new { controller = "ClientEnquiry", action = "ScheduleList", id = UrlParameter.Optional }
            );
        }

    }





public class UnderMaintenanceAttribute : ActionFilterAttribute
    {
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            var requestTimestamp = filterContext.HttpContext.Timestamp;

            filterContext.Result = new RedirectToRouteResult(
                // create your controller/action/view to display your message
                new RouteValueDictionary
                {
                    { "controller", "Undermaintenance" },
                    { "action", "Maintenance" }
                });

        }
    }


Код в глобальном asax и условие:

public void Application_PostAuthorizeRequest()
        {
            System.Web.HttpContext.Current.
                SetSessionStateBehavior(System.Web.SessionState.SessionStateBehavior.Required);
            string sTime = System.Configuration.ConfigurationManager.AppSettings["StartTime"].ToString();
            string eTime = System.Configuration.ConfigurationManager.AppSettings["EndTime"].ToString();
            DateTime nTime = DateTime.Now;
            var startHour = Int32.Parse(sTime);
            var endHour = Int32.Parse(eTime);
            if (nTime.Hour < startHour || nTime.Hour >= endHour)
            {
                try
                {
                    InvokeUnderMaintenance();
                }
                catch (Exception e)
                {
                    Console.WriteLine("exception of c" + e);
                }

            }

        }

        public void InvokeUnderMaintenance()
        {
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        }

filter.config выглядит следующим образом

public class FilterConfig
    {
        public static void RegisterGlobalFilters(GlobalFilterCollection filters)
        {
            filters.Add(new UnderMaintenanceAttribute());
        }
    }

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...