В настоящее время я отлаживаю приложение 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, но здесь я всегда получаю тайм-аут запроса.
Мне кажется, что запрос не доходит до этого действия. Любые предложения о том, как мне отладить это или что мне делать?
ОБНОВЛЕНИЕ: Я подумал, что это связано с привязкой модели. Если я уберу привязки, запрос будет отправлен БЫСТРО. Однако я попробовал несколько подходов, таких как использование атрибута Bind перед параметрами действия, попытался создать класс NewPersonForm, который содержал 3 свойства (Person, PeopleCertificationLevel, Address), и даже попытался с вызовами FormCollection и UpdateModel. Все безрезультатно.
ОБНОВЛЕНИЕ 2: Это приложение скомпилировано в 32-разрядной версии и работает в 64-разрядной среде. Хотя в AppPool включены 32-битные приложения, я подозреваю, что это может быть причиной проблемы.