2009-09-29 6 views
0

J'ai l'application ASP.NET MVC avec une action qui devrait traiter les données XML publiées. Chez Cassini fonctionne très bien, mais quand je déploie l'application sur IIS6, je reçois une erreur de suivi.Comment désactiver la validation des demandes dans ASP.NET MVC s'exécutant sur IIS6?

A potentially dangerous Request.Form value was detected from the client (xml="<?xml version="1.0" ..."). 

J'ai essayé contrôleur décorez avec ValidateInput(false) attribut et ajouter également la méthode suivante au contrôleur.

protected override void Initialize(RequestContext requestContext) 
{ 
    ValidateRequest = false; 
    base.Initialize(requestContext); 
} 

Rien à faire.

Avez-vous une autre idée comment puis-je me débarrasser de cette demande de validation ennuyeuse?

Modifier: Désolé. J'étais totalement mon erreur comme d'habitude. Après avoir installé la cartographie générique, tout fonctionne correctement.

Répondre

2

Est-ce (ValidateInput) sur une méthode POST? Cela ne fonctionne qu'avec POST.

+0

Oui C'est une demande de publication qui déclenche ce problème. J'ai également essayé d'ajouter AcceptVerbs (HttpVerbs.Post) et ValidateInput (false) à la méthode particulière, mais il semble qu'il a maintenant un effet sur IIS6. –

+0

Oddness- Cela devrait fonctionner. Êtes-vous vraiment poster à cette action, et pas un différent? – RichardOD

2

Comme Richard a dit, vous devez placer sur la méthode d'action accepter l'entrée:

[HttpPost] 
[ValidateInput (false)] 
public ActionResult DoTheThing (StuffBeingPostedBack stuff) 
{ 
    // ... 
} 
1

Put [ValidateInput (false)] au-dessus de votre ActionResult dans les méthodes post de votre contrôleur ....

Questions connexes