能从应用程序的BeginRequest在第一次请求使用RewritePath
不能重定向我想重定向到一个维护屏幕时,我们所定义的维护窗口内(开始日期时间和结束日期时间之间)能从应用程序的BeginRequest在第一次请求使用RewritePath
我的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");
}
}
如果我开始了我的维护窗外应用程序,然后等到窗口开始日期时间(或简单地更改配置),我重定向到维护屏幕上的一个请求。但是,如果我尝试维护窗口期间启动我的申请,我得到以下错误:
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文件夹中。
回答:
在我的Global.asax.cs文件中的Application_BeginRequest,这是正确的说法,用正确的路径:
HttpContext.Current.RewritePath("/Home/MaintenancePage");
以上是 能从应用程序的BeginRequest在第一次请求使用RewritePath 的全部内容, 来源链接: utcz.com/qa/267167.html