Perché IIS rifiuta di pubblicare contenuti ASP.NET?


16

Il mio server Std di Windows Server 2003 rifiuta il contenuto ASP.NET del server. Serve un normale html, ma qualsiasi cosa .net, anche un file html a una riga con estensione ASPX fallisce silenziosamente.

Cose che ho provato:

  • Nulla nel registro eventi o nei registri WWW IIS in caso di errore.
  • Il violinista non mostra alcuna risposta
  • Ho reinstallato .NET con
    • C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regiis.exe -U
    • C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regiis.exe -I
  • Concedo autorizzazioni oscenamente alte su tutto ciò a cui riesco a pensare (controllo completo, lettura, scrittura, ecc.) A tutti gli utenti eventualmente pertinenti (IUSER *, ASP.NET, ecc.).
  • Ho confermato che le estensioni del servizio Web ASP.Net v1 e v2 sono "consentite" in IIS
  • Confermato che Server Manager aveva i ruoli IIS e ASP.Net abilitati

Ancora: questo è lo scenario:

Qualsiasi consiglio sarà molto apprezzato!


Soluzione: ho reinstallato secondo le istruzioni seguenti e funziona ora. Ringrazia tutti!

Risposte:


23

Ho riscontrato questo esatto problema diverse volte e ogni volta la soluzione era:

  1. vai al pannello di controllo
  2. vai nell'area "Componenti di Windows"
  3. rimuovere IIS, lasciarlo disinstallare
  4. riavvio
  5. aggiungere nuovamente IIS ( assicurarsi di includere le cose ASP.NET quando si spuntano le caselle ).
  6. Esegui: C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regiis.exe -I

Ho passato ore a eseguire il debug su questo sito client una volta, e questo era il trucco. Da allora, ogni volta che è successo, questa è stata la soluzione.

Non sono sicuro di quale sia la causa principale, ma abbiamo strappato la configurazione IIS una volta provando a capirlo, e abbiamo persino avuto Microsoft RDC nel server in questione per 2 o 3 ore, e non hanno potuto aiutare neanche .

Quindi lo scrivo come un bug non documentato in ASP.NET/IIS.


1
Quello l'ha fatto. Davvero molto tempo sprecato su questo con una soluzione così insoddisfacente - odio non conoscere la causa reale. Oh bene, ora funziona - grazie mille, Sam!
Michael Haren,

2
Passaggio 6: C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regiis.exe -I
Michael Haren,

Nessun problema - felice di essere al servizio, perché so che questo è doloroso!
Sam Schutte,

Inoltre, potrebbe essere che la causa effettiva sia semplicemente una cattiva installazione. So che quando mi imbatto in questo, tutto il resto sembra a posto, ma presumo che da qualche parte il registro o la configurazione siano rovinati per qualche motivo.
Sam Schutte,

Potrebbe valere la pena di formattare il comando nel passaggio 6 come codice, per rendere più facile dire che il flag è una "i" maiuscola.
Dave Andersen, il

9

Prova questo: http: //localhost/blah.aspx (dovrebbe essere una pagina inesistente). Se ti dà un 404 invece della pagina di errore asp.net, allora asp.net non è in esecuzione, se ti dà un errore 403, le autorizzazioni per il sito sono sbagliate.

Ecco una lista di controllo che può aiutare:

  • IIS è in esecuzione?
  • Il tuo sito web è in esecuzione?
  • Il pool di app per il tuo sito Web funziona correttamente?
  • ASP.NET è installato e registrato?

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

    aspnet_regiis -ua

    aspnet_regiis -i -enable

  • ASP.NET è in esecuzione?

Controlla la scheda "ASP.NET" nelle proprietà del tuo sito web. Assicurati che stia usando la versione giusta.

  • Le autorizzazioni sono impostate correttamente?

Controlla la scheda "Directory principale" nelle proprietà del tuo sito, controlla l'impostazione "Esegui autorizzazioni", dovrebbe essere impostata per consentire gli script. Controllare anche le "Estensioni del servizio Web" per assicurarsi che asp.net sia autorizzato a funzionare.


Questa è una bella lista per riferimenti futuri. Avevo già provato tutto ciò tranne gli interruttori -a e -enable e l'idea blah.aspx. Reinstallare IIS era quello che ci voleva. Grazie per l'aiuto!
Michael Haren,

Che aspetto ha un pool di app in esecuzione correttamente? Che aspetto ha un pool di app in esecuzione non corretta?
Ian Boyd,

Dove si trova l '"Estensione del servizio Web" in modo che io possa assicurarmi che asp.net sia autorizzato a funzionare?
Ian Boyd,

3

Aprire il gestore IIS, fare clic sulla cartella Estensioni servizio Web nel riquadro sinistro. Quindi fare clic sull'estensione ASP.NET nel riquadro destro e fare clic sul pulsante Consenti.


È già consentito, grazie per il suggerimento, però
Michael Haren,

2

Non è necessario disinstallare / reinstallare IIS per ristabilire il supporto .net, secondo la risposta precedente. Basta eseguire l'utilità aspnet_regiis.exe che si trova nella cartella framwork appropriata, ad esempio:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727

Lo faccio diversamente da quanto indicato nella mia domanda? In caso contrario, ho già provato questo.
Michael Haren,

Per qualsiasi motivo, semplicemente eseguire regiis non aiuta.
Sam Schutte,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.