2010-07-19 28 views
6

Je constate que pour une application Web particulière, les demandes adressées à WebResource.axd retournent une page complètement vide. (Copier et coller le lien dans une nouvelle résultats de la fenêtre du navigateur dans un document de réponse vide completley)Diagnostic de la raison pour laquelle les demandes WebResource.axd sont vides

journaux IIS montrant que les demandes de WebResource.axd sont réussies (Code d'état HTTP 200)

L'application elle-même est complexe et il semble donc que c'est quelque chose que l'application est en train de faire qui cause cela, mais je ne sais pas quoi.

Quelles sont les étapes de débogage supplémentaires que je peux suivre pour déterminer pourquoi ces demandes échouent et où rechercher les endroits où un comportement spécifique à l'application peut affecter WebResource.axd de cette manière?

choses que j'ai essayé jusqu'à présent:

  • Création d'un nouveau répertoire virtuel dans IIS pointant vers le même répertoire donne les mêmes résultats (document WebResource.axd vide)
  • Création d'une toute nouvelle page blanche indepdent et le placer dans ce répertoire donne les mêmes résultats.
  • Si je crée un nouveau répertoire virtuel dans IIS pointant vers un dossier différent, la page vierge fonctionne comme prévu.
  • L'échange des fichiers web.config entre les répertoires de travail/brisés semble n'avoir aucun impact.

C'est sur une machine en marche Windows XP IIS 5.1

Répondre

4

Il se trouve que le problème était un filtre HttpResponse que je présente une demande dans la méthode Application_PreRequestHandlerExecute dans Global.asax. J'appliquais le filtre génériquement à toutes les demandes - même si le filtre laissait le contenu inchangé pour WebResouce.axd, cela posait toujours des problèmes.

Les liens suivants me ont aidé et de décrire plus en détail:

La solution était de passer l'application du filtre pour WebResouce.axd.

0

j'étais ne pas utiliser Application_PreRequestHandlerExecute, mais en ajoutant le OutputFilterStream dans Application_BeginRequest. Cela a provoqué le même problème avec la réponse WebResource.axd revenant avec le code d'état 200 mais une réponse vide.