Pourquoi IIS refuse-t-il de diffuser du contenu ASP.NET?

16

Mon serveur Windows Server 2003 Std refuse de gérer le contenu ASP.NET. Il sert html normal très bien mais n'importe quoi .net, même un fichier html d'une ligne avec une extension ASPX échoue silencieusement.

Ce que j'ai essayé:

  • Rien dans le journal des événements ou les journaux IIS WWW en cas d'échec.
  • Le violoneux ne montre aucune réponse
  • J'ai réinstallé .NET avec
    • C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regiis.exe -U
    • C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regiis.exe -I
  • Je donne des autorisations obscènes sur tout ce à quoi je peux penser (contrôle total, lecture, écriture, etc.) à tous les utilisateurs éventuellement concernés (IUSER *, ASP.NET, etc.).
  • J'ai confirmé que les extensions de service Web ASP.Net v1 et v2 sont "autorisées" dans IIS
  • Confirmé que le gestionnaire de serveur avait activé les rôles IIS et ASP.Net

Encore une fois: voici le scénario:

Tout conseil sera très apprécié!


Solution: j'ai réinstallé selon les instructions ci-dessous et cela fonctionne maintenant. Merci a tous!

Michael Haren
la source

Réponses:

23

J'ai rencontré ce problème à plusieurs reprises et à chaque fois, la solution était de:

  1. allez dans le panneau de configuration
  2. allez dans la zone "Composants Windows"
  3. supprimer IIS, le laisser désinstaller
  4. redémarrer
  5. rajoutez IIS ( assurez-vous d'inclure les éléments ASP.NET lorsque vous cochez les cases ).
  6. Exécutez: C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regiis.exe -I

J'ai passé des heures à déboguer cela sur un site client une fois, et c'était l'astuce. Depuis lors, chaque fois que cela s'est produit, c'était la solution.

Je ne sais pas quelle est la cause principale, mais nous avons déchiré la configuration IIS une fois en essayant de la comprendre, et même Microsoft RDC a été installé sur le serveur en question pendant 2 ou 3 heures, et ils n'ont pas pu aider non plus .

Je l'écris donc comme un bogue non documenté dans ASP.NET/IIS.

Sam Schutte
la source
1
Ça l'a fait. Trop de temps perdu avec une solution aussi insatisfaisante - je déteste ne pas en connaître la cause réelle. Eh bien, ça fonctionne maintenant - merci beaucoup, Sam!
Michael Haren
2
Étape 6: C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regiis.exe -I
Michael Haren
Pas de problème - heureux d'être au service, car je sais que c'est douloureux!
Sam Schutte
En outre, il se peut que la cause réelle soit simplement une mauvaise installation. Je sais que lorsque j'ai rencontré cela, tout le reste semble bien, mais je suppose que quelque part le registre ou la configuration est vissé pour une raison quelconque.
Sam Schutte
Il peut être utile de formater la commande de l'étape 6 sous forme de code, pour qu'il soit plus facile de dire que l'indicateur est un «i» majuscule.
Dave Andersen
9

Essayez ceci: http: //localhost/blah.aspx (devrait être une page inexistante). S'il vous donne un 404 au lieu de la page d'erreur asp.net, asp.net n'est pas en cours d'exécution, s'il vous donne une erreur 403, les autorisations pour le site sont incorrectes.

Voici une liste de contrôle qui peut vous aider:

  • IIS fonctionne-t-il?
  • Votre site Web fonctionne-t-il?
  • Le pool d'applications de votre site Web fonctionne-t-il correctement?
  • ASP.NET est-il installé et enregistré?

    cd / d% windir% \ Microsoft.Net \ Framework \ v2.0.50727

    aspnet_regiis -ua

    aspnet_regiis -i -enable

  • ASP.NET est-il en cours d'exécution?

Vérifiez l'onglet "ASP.NET" dans les propriétés de votre site Web. Assurez-vous qu'il utilise la bonne version.

  • Les autorisations sont-elles configurées correctement?

Vérifiez l'onglet "Home Directory" dans les propriétés de votre site, vérifiez le paramètre "Execute Permissions", il doit être configuré pour autoriser les scripts. Vérifiez également les «extensions de service Web» pour vous assurer que asp.net est autorisé à s'exécuter.

Coin
la source
Ceci est une belle liste pour référence future. J'avais déjà essayé tout cela sauf les commutateurs -a et -enable et l'idée blah.aspx. Réinstaller IIS était ce qu'il fallait. Merci pour l'aide!
Michael Haren
À quoi ressemble un pool d'applications fonctionnant correctement? À quoi ressemble un pool d'applications mal exécuté?
Ian Boyd
Où trouve-t-on «l'extension de service Web» pour que je puisse m'assurer que asp.net est autorisé à s'exécuter?
Ian Boyd
3

Ouvrez le gestionnaire IIS, cliquez sur le dossier Extensions de service Web dans le volet gauche. Cliquez ensuite sur l'extension ASP.NET dans le volet droit et cliquez sur le bouton Autoriser.

slolife
la source
C'est déjà autorisé, merci pour la suggestion, cependant
Michael Haren
2

Vous n'avez pas besoin de désinstaller / réinstaller IIS pour rétablir la prise en charge de .net, selon la réponse précédente. Exécutez simplement l'utilitaire aspnet_regiis.exe qui se trouve dans le dossier framwork approprié, par exemple:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
Facture
la source
Dois-je procéder différemment de ce qui est indiqué dans ma question? Sinon, j'ai déjà essayé.
Michael Haren
Pour une raison quelconque, il ne suffit pas d'exécuter regiis.
Sam Schutte