2010-01-21 3 views
0

J'ai le problème le plus étrange que je ne peux pas résoudre tout seul.Le contenu MVC est tronqué, ce qui entraîne une page blanche

J'ai cette application ASP.NET MVC 1 qui fonctionne sans problème sur ma machine de développement local, en utilisant IIS5.

J'ai fait les changements appropriés pour obtenir MVC pour travailler sur IIS5 en ajoutant un itinéraire pour les contrôleurs .mvc et un filtre aspnet_isapi.dll comme indiqué dans http://haacked.com/archive/2008/11/26/asp.net-mvc-on-iis-6-walkthrough.aspx

Maintenant est venu le temps de déployer ce Windows Server 2003 avec IIS6 . J'ai fait exactement les mêmes changements que ceux décrits dans le document ci-dessus. Le résultat est que quand j'accède à ma vue MVC cela fonctionne dans le sens où elle ne jette aucune erreur, mais la page est vide! J'ai cherché des erreurs dans le journal des événements, ou le journal Web IIS, rien.

après inspection, j'ai utilisé « voir la source » par Firefox, et pour ma page blanche sur le serveur voici ce que je reçois:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml" > 
<head id="Head1"><title> 

</title> 

<style type="text/css"> 
/*margin and padding on body element 
can introduce errors in determining 
element position and are not recommended; 
we turn them off as a foundation for YUI 
CSS treatments. */ 
body { 
margin:0; 
padding:0; 
} 
</style> 

<!--BEGIN: Styles--> 

Ca y est, le contenu juste sont tronqués après <!--BEGIN: Styles-->. Quand je compare ce que je reçois quand je "regarde la source" sur la même page fonctionnant sur ma machine locale où cela fonctionne, tout ce qui précède est là, mais la différence est que, après <!--BEGIN: Styles--> le contenu continue avec le reste de l'HTML tel comme CSS externe inclut et Javascript externe inclut, suivi par le <BODY> etc ...

Je tire sur mes cheveux au-dessus de cela, quelqu'un a-t-il eu ce problème lors du déploiement d'une application MVC sur IIS6 sous Windows Server 2003?

Répondre

0

J'ai finalement trouvé la cause!

Comme il se produit, j'ai <% code%> qui provoque une exception à jeter dans la vue. Dans des circonstances normales, l'erreur apparaîtrait. Cependant j'ai oublié que j'avais créé un HandleErrorAttribute personnalisé. Dans ce gestionnaire, je renvoie l'erreur, sauf que le message d'erreur est retourné dans une valeur d'en-tête plutôt que dans le flux de sortie HTTP. Ce gestionnaire a été écrit dans le but de gérer les erreurs lors des appels AJAX. Mais dans ce cas, ce n'était pas un appel AJAX.

Duuh moi! Je suis allé dans les cercles avec ceci jusqu'à ce que j'ai mis un essai, attraper autour du bloc de code qui a semblé suspect à moi. C'est comme ça que j'ai découvert qu'une exception était en train d'être lancée, ce qui m'a incité à traquer là où on mange l'excpetion!

Merci les gars d'essayer d'aider!

1

Y a-t-il d'autres filtres ISAPI dans le site Web? Si d'autres applications s'exécutent dans le même pool d'applications que votre site Web, essayez de l'exécuter dans un autre pool d'applications. Aussi, si vous avez accès au serveur, vous pouvez vérifier le journal des événements.

+0

Oui. Vérifié le journal des événements. rien ici. Il fonctionne dans son propre pool d'applications dédié ... Cependant, il existe d'autres sites Web (non mvc) fonctionnant sur le serveur de sauvegarde, également dans leurs propres pools. – 7wp

Questions connexes