当我们进入定义的维护窗口(在Start DateTime和End DateTime之间)时,我想重定向到维护屏幕
在我的Global.asax.cs文件中:
protected void Application_BeginRequest(object sender, EventArgs e)
{
var maintStart = Convert.ToDateTime(CommonUtilities.GetAppConfigCredential("MaintenanceStartDateTime"));
var maintEnd = Convert.ToDateTime(CommonUtilities.GetAppConfigCredential("MaintenanceEndDateTime"));
DateTime nw = DateTime.Now;
if (maintStart < nw && nw < maintEnd)
{
HttpContext.Current.RewritePath("MaintenancePage");
}
}
如果我在维护窗口之外启动我的应用程序,然后等到窗口启动DateTime(或只是更改配置),我会在下一个请求时被重定向到维护屏幕。但是,如果我尝试在维护窗口期间启动我的应用程序,则会出现以下错误:
Server Error in '/' Application.
Runtime Error
Description: An exception occurred while processing your request. Additionally, another exception occurred while executing the custom error page for the first exception. The request has been terminated.
不确定如何调试,或者我的下一步应该是什么。
修改
如果我在维护窗口中启动我的应用程序,我需要:
HttpContext.Current.RewritePath("Home/MaintenancePage");
使其正常工作。
如果我在维护窗口之外启动我的应用程序,那么等到维护窗口开始时间,我需要:
HttpContext.Current.RewritePath("MaintenancePage");
使其正常工作。
EDIT2:
忘了提,我有这个:
public ActionResult MaintenancePage()
{
return View();
}
在我的HomeController中。
我忘了提到维护页面位于Views / Home文件夹中。
答案 0 :(得分:0)
在我的Global.asax.cs文件中,在Application_BeginRequest中,这是正确的语句,具有正确的路径:
HttpContext.Current.RewritePath("/Home/MaintenancePage");