我的网站使用以下路线,但我需要派生一个不需要 DB 参数的新版本的网站。我删除了 DB 部分,并发布到一个新的 IIS 虚拟目录,它只加载了. 它永远不会停止加载。
这是之前的路线:
routes.MapRoute(
"Default", // Route name
"{db}/{controller}/{action}/{id}", // URL with parameters
new { db = "Home", controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
这是之后:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
这是我在 Global.asax.cs 中唯一更改的内容。在我的控制器中,我从方法中删除了参数:public ActionResult Index(string db)
成为public ActionResult Index()
.
在 Cassini 中一切正常(我认为在 VS 2012 中调试时称为本地托管)。但是,当我部署到网络服务器时,它会无限加载。
有任何想法吗?
编辑:即使我的 /Home/Index 如下,它仍然会永远加载:
[HttpGet]
public string Index()
{
return "Hello, World!";
//var dc = BuildDC();
//ViewBag.Title = "Log in";
//// Check for cookie that stores Booth Number and Vendors
//if (HttpContext.Request.Cookies["BoothNumber"] != null && HttpContext.Request.Cookies["Vendors"] != null)
//{
// // We have cookie. Resume session, then.
// Session["BoothNumber"] = HttpContext.Request.Cookies["BoothNumber"];
// Session["Vendors"] = HttpContext.Request.Cookies["Vendors"];
// return RedirectToAction("Login", "Show");
//}
//else
//{
// // We no have cookie. Let's do setup process, then.
// return RedirectToAction("Setup", "Home");
//}
}
重要的区别是,如果我在 VS2012 中调试,它运行良好。但是,当我部署时,它会永远加载。我也觉得这不仅仅是一个 IIS 问题,因为当我改变路线时——我打破了它。谢谢!