ASP.NET MVC控制器方法超时

时间:2009-10-30 13:01:41

标签: c# asp.net-mvc debugging

我正在调试刚刚部署到不同服务器的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调用。一切都没有用。

更新2:此应用程序以32位编译并在64位环境中运行。虽然在AppPool中启用了32位应用程序,但我怀疑这可能是导致问题的原因。

1 个答案:

答案 0 :(得分:1)

可能不是这么傻,但只是我的2美分:

  • 您是否确实通过提交按钮检查表单是否已过帐?
  • 是与路由中指定的名称完全匹配的所有参数吗?