私のサイトは次のルートで動作していましたが、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)
become public ActionResult Index()
.
Cassini ではすべてがうまく機能します (VS 2012 でデバッグするときは、ローカル ホスティングと呼ばれていると思います)。ただし、Web サーバーにデプロイすると、無限にロードされます。
何か案は?
編集: /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 の問題ではないと感じています。ありがとう!