C# Net MVC 3断开的路由
我让我的站点按照下面的路线工作,但是我需要一个不需要DB参数的站点的新版本。我删除了DB部分,并发布到一个新的IIS虚拟目录,它只是加载。它从不停止加载 以下是之前的路线:C# Net MVC 3断开的路由,c#,asp.net-mvc,asp.net-mvc-3,routes,C#,Asp.net Mvc,Asp.net Mvc 3,Routes,我让我的站点按照下面的路线工作,但是我需要一个不需要DB参数的站点的新版本。我删除了DB部分,并发布到一个新的IIS虚拟目录,它只是加载。它从不停止加载 以下是之前的路线: routes.MapRoute( "Default", // Route name "{db}/{controller}/{action}/{id}", // URL with parameters new { db = "Home", controller = "Home", action = "I
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
卡西尼号上的一切都很好,我认为它叫做,在VS 2012中调试时的本地主机。然而,当我部署到Web服务器时,它的负载是无限的
有什么想法吗
编辑:即使my/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问题,因为当我改变路线时,我打破了它。谢谢 你的路线很好。很可能是HomeController上的索引方法:无限地执行某些操作,无限地重定向到同一路由,或者同步运行一个长时间运行的外部调用,就像DB select一样,需要几分钟的时间
把它分解成一个基本情况,让你的索引方法只返回一个说Hello World的视图,然后从那里开始。那么,你的索引页面做什么呢?这可能就是问题所在,你还没有告诉我们。另外,您还有其他路由吗?@MystereMan-请参阅编辑索引方法。谢谢我编辑了my/Home/Index方法以返回一个字符串,该字符串表示Hello,World!在调试时,它工作得很好。不过,部署时一点也不需要。仍然是无限的负荷。还有其他建议吗?与其发布到IIS虚拟目录,不如尝试发布到IIS中的新站点,并停止旧站点,作为测试。另一个选项是为Home/Index插入更具体的路由,然后查看是否有效/您得到的是404/等。我将此答案标记为正确,因为它引导我找到了答案。真正的答案是我的IIS行为不端。我不能确切地说是如何做到的,但在其他一些事情都不起作用后,我重新启动了整个服务器,它就工作了。谢谢