2009-10-30 7 views
0

Je suis en train de déboguer une application ASP.NET MVC qui vient d'être déployée sur un autre serveur. Toutes les versions entre le serveur de transfert et le serveur de production sont les mêmes, mais dans le serveur de production (qui est 64 bits, mais exécute l'application en mode 32 bits), je reçois un délai d'attente dans cette action de contrôleur:Sortie de la méthode du contrôleur ASP.NET MVC

[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); 
     } 
    } 

J'ai déjà essayé de lancer une exception avant le bloc try, mais j'obtiens toujours un timeout de requête ici.

Il me semble que la requête n'atteint pas cette action. Des suggestions sur la façon dont je devrais déboguer ceci ou que devrais-je faire?

MISE À JOUR: J'ai pensé que cela avait à voir avec la liaison du modèle. Si je supprime les liaisons, la demande est expédiée, RAPIDE. Cependant, j'ai essayé plusieurs approches, telles que l'utilisation de l'attribut Bind avant les paramètres d'action, essayé de créer une classe NewPersonForm qui contenait 3 propriétés (Person, PeopleCertificationLevel, Address), et même essayé avec des appels FormCollection et UpdateModel. Tout en rien.

MISE À JOUR 2: Cette application est compilée en 32 bits et fonctionne dans un environnement 64 bits. Bien que les applications 32 bits soient activées dans AppPool, je pense que c'est ce qui pourrait causer le problème.

+1

Est-ce que ASP.NET MVC Routing est correctement configuré sur le serveur de production? –

+0

C'est. Toutes les autres méthodes de contrôleur fonctionnent. Sauf celui-ci. Je veux dire, y a-t-il quelque chose de spécial que je dois faire dans IIS pour activer le routage MVC? – changelog

+1

J'essaierais probablement de supprimer les paramètres d'objet et de voir ce qui est retourné via la construction 'form'. Peut-être que c'est un problème avec l'instanciation de ces objets? – Lazarus

Répondre

1

Il ne peut pas être ce stupide .. mais seulement mes 2 cents

  • Avez-vous vérifié en fait, si le formulaire est affiché par un bouton d'envoi?
  • sont tous les paramètres exactement correspondant aux noms spécifiés dans le routage?

Merci,
Mahesh Velaga.

+0

Oui, tout va bien. Sur ma machine, ça fonctionne très bien, même avec le serveur de développement ASP (celui que le VS2008 lance par défaut). Dans cette machine, c'est la seule forme qui ne wory. – changelog

Questions connexes