2009-01-13 8 views
4

Ceci est dingue.401 Renvoyé pour chaque 5ème appel dans une application ASP.NET MVC qui renvoie JSON

J'ai une application ASP.NET MVC utilisant l'authentification Windows qui, entre autres choses, interagit avec un certain nombre de composants ExtJs Javascript en leur renvoyant des données JSON. Le problème est que, même après que l'utilisateur a été authentifié avec succès, chaque 5ème requête pour récupérer des données JSON de MVC entraîne deux réponses "401 non autorisées" suivies d'une réponse "200 OK". Encore une fois, cela arrive tous les 5 appels ... pourquoi? Je n'ai aucune idée.

Fait intéressant, chaque réponse contient le JSON attendu !!!

Quelqu'un d'autre rencontre ce comportement ou a des idées sur pourquoi cela se produit?

Merci - wg

+0

Est-ce que cela se produit dans l'environnement de développement? Quelle version d'IIS exécutez-vous? – Odd

Répondre

3

Il semble que ce comment fonctionne l'authentification Windows par la conception:

How do I stop 401 responses from TFS 2008

J'ai eu ce même problème avec une application ASP.NET MVC en cours d'exécution sur IIS 6, mais en utilisant l'authentification par formulaire. Cela m'a rendu fou jusqu'à ce que je réalise que notre serveur est configuré pour s'authentifier via NTLM pour chaque requête, puisqu'il s'agit d'un serveur intranet interne. Il s'agit donc d'un non-problème, car la requête fonctionne correctement après la réponse 200 et ne semble pas ralentir le temps de chargement.

0

J'ai eu ce arrivé à moi une fois, et dans mon cas, c'était parce que j'avais le dossier Web virtuel utilise deux méthodes d'authentification: l'authentification Windows et l'authentification de base. De temps en temps, IIS essayait d'authentifier l'utilisateur à l'aide de l'authentification Windows au lieu de l'authentification HTTP de base que je l'avais voulu utiliser (cela se produisait surtout dans Internet Explorer) et renvoyait une réponse «non autorisée». Essayez de désactiver les méthodes d'authentification que vous n'utilisez pas et voyez ce qui se passe.

Questions connexes