Как сделать сайт go обслуживаемым, написав код в файлах global.asps, используя ключ времени начала и окончания из web.config - PullRequest
1 голос
/ 30 января 2020

Я пишу код для создания сайта на обслуживании. Может ли кто-нибудь помочь мне, пожалуйста. Требования следующие. У меня есть код проекта, мне нужно сделать этот сайт go на обслуживании из указанного c время для указания c время, например, от 18 до 8, должно быть в состоянии , и это должно быть сделано в global.asax файле, а время начала и окончания должно быть как ключи чье значение присутствует файл webconfig , как показано ниже, может кто-нибудь, пожалуйста, помогите мне ?? код для global.aspx должен быть похож на dis ...................

            // Clear the response stream 
            var httpContext = HttpContext.Current;
            httpContext.Response.Clear();
            httpContext.ClearError();
            httpContext.Response.TrySkipIisCustomErrors = true;


            var routeData = new RouteData();
            routeData.Values.Add("controller", "Error");
            routeData.Values.Add("action", action);

            // Call error Controller and pass the routeData.
            using (var controller = new ErrorController())
            {
                ((IController)controller).Execute(new RequestContext(new HttpContextWrapper(httpContext), routeData));
            }

ключ должен быть следующим ...

<add key="StartTime" value="8"/>
    <add key="EndTime" value="18"/> 

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

public class UnderMaintenanceAttribute : ActionFilterAttribute
    {
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            var requestTimestamp = filterContext.HttpContext.Timestamp;
            if (IsUnderMaintenance(requestTimestamp))
            {
                filterContext.Result = new RedirectToRouteResult(
                    // create your controller/action/view to display your message
                    new RouteValueDictionary
                    {
                    { "controller", "Undermaintenance" },
                    { "action", "Index" }
                    });
            }
        }


        private bool IsUnderMaintenance(DateTime requestTimestamp)
        {
            bool isUnderMaintenance = requestTimestamp.Hour >= 18 || requestTimestamp.Hour < 13;

            return isUnderMaintenance;
        }
    }

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

...