C# Net MVC 3断开的路由

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

我让我的站点按照下面的路线工作,但是我需要一个不需要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

卡西尼号上的一切都很好,我认为它叫做,在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行为不端。我不能确切地说是如何做到的,但在其他一些事情都不起作用后,我重新启动了整个服务器,它就工作了。谢谢