我目前正在調試剛剛部署到不同服務器的ASP.NET MVC應用程序。ASP.NET MVC控制器方法超時
登臺服務器和生產服務器之間的所有版本都是相同的,但在生產服務器(即64位,但在32位模式下運行應用程序)我在此控制器操作中出現超時:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(Person person, PeopleCertificationLevel peopleCertificationLevel, Address address)
{
try
{
person.PeopleCertificationLevels.Add(peopleCertificationLevel);
person.Addresses.Add(address);
_peopleService.SavePerson(person);
SetMessage("O marítimo foi registado com sucesso.");
return Redirect("~/People/Show/" + person.ID);
}
catch
{
SetErrorMessage("Por favor valide e preencha devidamente os campos assinalados a asterisco (*).");
Create();
return View(person);
}
}
我已經嘗試在try塊之前拋出一個異常,但我總是在這裏得到一個請求超時。
在我看來,請求沒有得到這個動作。有關我應該如何調試的建議或應該怎麼做?
更新:我想它與模型綁定有關。如果我刪除綁定,請求將被分派,FAST。然而,我已經嘗試了幾種方法,比如在動作參數之前使用Bind屬性,嘗試創建一個包含3個屬性(Person,PeopleCertificationLevel,Address)的NewPersonForm類,甚至嘗試使用FormCollection和UpdateModel調用。一切都無濟於事。
UPDATE 2:此應用程序編譯爲32位並運行在64位環境中。儘管在AppPool中啓用了32位應用程序,但我懷疑這可能是導致問題的原因。
ASP.NET MVC Routing在生產服務器上正確配置了嗎? – 2009-10-30 13:07:48
是的。其他每個控制器方法都適用除此之外。我的意思是,在IIS中需要做什麼才能啓用MVC路由? – changelog 2009-10-30 13:19:37
我可能會嘗試刪除對象參數並查看通過'form'構造返回的內容。可能是實例化這些對象時出現的問題? – Lazarus 2009-10-30 13:23:18