我正在尝试实施"维护模式"进入我的申请。我的想法是" RedirectToRoute"当检测到。但是,我得到以下例外:
" localhost重定向了你太多次"
我查看了各种在线解决方案,但都没有工作。任何帮助表示赞赏。
GLOBAL ASAX:
protected void Application_BeginRequest(object sender, EventArgs e)
{
var inMaintenanceMode = false;
bool.TryParse(ConfigurationManager.AppSettings[Settings.Application.Modes.MaintenanceMode], out inMaintenanceMode);
if (inMaintenanceMode)
{
Response.RedirectToRoute("Default", new { controller = "Maintenance", action = "Index" });
Response.End();
return;
}
}
控制器:
它永远不会到达......
public class MaintenanceController : Controller
{
// GET: Maintenance
public ActionResult Index()
{
var viewModel = new MaintenanceIndexViewModel();
// Forces a new Session_Start attempt
Session.Abandon();
return View(viewModel);
}
}
答案 0 :(得分:3)
要避免无限重定向循环,您可以在Application_BeginRequest
方法中添加额外的检查,以确定当前路由是Maintenance
控制器,如果是,请跳过重定向,因为您已经重定向到它先前的请求。