IIS7 restituisce vuoto quando viene richiesto il contenuto statico


14

Sto provando a configurare una macchina demo che è EEEPC con Windows 7 Home Premium Edition tutti i driver caricati correttamente (non chiedermi perché è Home Edition) con IIS7 installato.

Ho distribuito l'applicazione da sottoporre a demo sul computer che è un sito ASP.NET MVC, ho aggiunto un sito Web tramite la console e un pool di app. Il pool di app viene eseguito come NetworkService e il guest esegue l'autenticazione come IUSR.

Ho aggiunto i diritti di modifica a NetworkService e ho letto ed eseguito i diritti su IUSR nella cartella del sito Web e nel suo contenuto.

Quando raggiungo la radice del Web, dì http://example.com/ Ottengo il rendering di un codice HTML corretto dal sito Web (il che significa che l'applicazione funziona) ma il problema è che tutto il contenuto statico ritorna vuoto.

Non sono sicuro del perché accada. Nessuna pagina di errore 404 o 500, solo una risposta vuota quando accedo al contenuto statico. Tutto il contenuto generato da ASP.NET funziona bene (anche se un po 'strano dato che tutti i CSS e le immagini non verranno caricati)

Aiutatemi, IIS7 Management Console è molto confuso per me e ho bisogno della macchina entro domani.

Risposte:



2

Nel mio caso, il ruolo del server era già installato, eppure il gestore statico offriva pagine vuote anche per un banale sito di test con una sola mappatura del gestore.

La correzione era abilitare la restrizione della richiesta "Richiama gestore solo se la richiesta è mappata su". Non importa se l'ho impostato su "File" o "File o directory"; fintanto che la casella di controllo è abilitata, funziona:

                  inserisci qui la descrizione dell'immagine

Se il problema persiste, un'altra cosa che porta a pagine vuote sta cercando di specificare un percorso nella sezione "Percorso richiesta", come publico forse public/*. Il secondo è semplicemente sbagliato, mentre il primo dovrebbe essere accettato, ma risulta invece in pagine vuote. La soluzione consiste nell'avvolgere la mappatura del gestore in una <location path='public'>sezione, specificando *l'impostazione "Percorso richiesta". Oppure, in Gestione IIS, espandere il sito e selezionare prima la cartella, quindi modificare i mapping dei gestori.


1

Come suggerito da @MattB, la funzione "Contenuto statico" non è stata abilitata, ma questa è solo una parte del problema.

Ho aggiunto la funzione "Contenuto statico" e tuttavia il problema persiste, quindi vado a rimuovere MvcHttpHandler predefinito dall'elenco dei mapping dei gestori e in qualche modo il problema si risolve da solo ... quindi il problema era che MvcHttpHandler stava intercettando le richieste prima che il StaticFileHandler,

Cordiali saluti, dopo aver installato il "Contenuto statico", assicurarsi anche che ...

  1. In Internet Information Services Manager, fai clic sul tuo sito Web.
  2. Fare doppio clic sulla funzione "Mapping gestori".
  3. Sul lato destro (pannello Azioni) vedrai un link intitolato "Visualizza elenco ordinato ...", fai clic su di esso.
  4. Troverai quindi l'ordine in cui il modulo è abbinato a ciascuna richiesta, assicurati che l'ordine abbia senso.

Nel mio caso MvcHttpHandler era al di sopra di ogni altra cosa, ho risolto il problema spostandolo in fondo all'elenco, che è il posto più ragionevole in cui dovrebbe trovarsi perché i gestori di file AXD, i gestori TRACE, il gestore OPTIONS e il contenuto statico ottengono una possibilità a gestire prima la richiesta.

Spero che questo aiuti qualcuno a cercare su Google lo stesso problema :-)

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.