2009-10-27 8 views
1

J'ai donc une méthode comme suitmodèle de liaison ASP.NET MVC

[AcceptVerbs("POST")] 
    [RequiresAuthentication()] 
    public JsonResult SomeEvent(ClientObject myObject) 
    { 

    } 

Sur mon localhost/boîte DEV/QA L'association fonctionne parfaitement modèle. Cependant, quand je déplace ceci vers mon serveur de production, pas de dés. Cependant, si je le change en

[AcceptVerbs("POST")] 
    [RequiresAuthentication()] 
    public JsonResult SomeEvent(string value1, string value2) 
    { 

    } 

Il fonctionne parfaitement sur la production. En d'autres termes, il semble que ModelBinding ne fonctionne pas.

Différence dans les environnements.

  1. Sur local/dev/qa System.Web.MVC est dans le GAC mais sur ma production il est dans le BIN.
  2. Sur le site prod est dans une ferme Web mais il y a 1 serveur principal qui reçoit le trafic. L'autre est un basculement.

System.Web.MVC n'a pas besoin d'être dans le GAC pour que la liaison de modèle fonctionne correctement?

Cela semble étrange. Des idées qui pourraient empêcher ModelBinding de fonctionner correctement?

Répondre

0

Vérifiez votre page de vue de quoi hérite-t-elle? La vue sur le serveur correspond-elle à la vue de votre boîte localhost?

Par exemple:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<Mvc2Testing.Models.Customer>" %> 

Qu'est-ce que le vôtre ressemble? Bien que le problème soit plus probable dans un autre fichier différent ailleurs, vous n'avez pas précisé si vous nettoyez le répertoire cible à chaque déploiement, ou si vous copiez simplement cette DLL.

Questions connexes