gpt4 book ai didi

c# - ASP.Net MVC 3 损坏的路由

转载 作者:太空宇宙 更新时间:2023-11-03 11:03:02 25 4
gpt4 key购买 nike

我的站点使用以下路由,但我需要 fork 一个不需要 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 中所做的唯一更改。在我的 Controller 中,我从我的方法中删除了参数: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 问题,因为当我改变路线时——我把它弄坏了。谢谢!

最佳答案

你的路线没问题。您的 HomeController 上的 Index 方法很可能是:无限地做某事,无限地重定向到相同的路由,或者同步运行长时间运行的外部调用,如需要几分钟的 DB 选择。

将其分解为一个基本案例,让您的 Index 方法简单地返回一个显示“Hello World”的 View ,然后从那里开始。

关于c# - ASP.Net MVC 3 损坏的路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16966535/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com