2012-12-03 12 views
14

Un progetto ASP.NET MVC in esecuzione su IIS 7.5 (ma il problema può esistere su versioni precedenti e siti non MVC) che in precedenza funzionava ha iniziato a tornare Errore interno 500 server ma solo per il contenuto gestito dal gestore statico: immagini, pagine, ecc. Gestite da MVC stesso attraverso un controller funzionano correttamente.ASP.NET MVC/IIS 7.5: 500 Errore interno del server solo per contenuto statico

So cosa l'ha causato - sto documentando questo nel caso in cui qualcun altro abbia lo stesso problema.

risposta

30

ho attivato traccia richieste non riuscite e dopo una ricerca attraverso il (enorme) di log, ho scoperto questo:

<EventData> 
    <Data Name="ContextId">{00000000-0000-0000-3700-0080010000FC}</Data> 
    <Data Name="ModuleName">CustomErrorModule</Data> 
    <Data Name="Notification">536870912</Data> 
    <Data Name="HttpStatus">500</Data> 
    <Data Name="HttpReason">Internal Server Error</Data> 
    <Data Name="HttpSubStatus">19</Data> 
    <Data Name="ErrorCode">2147942583</Data> 
    <Data Name="ConfigExceptionInfo"> 
    \\?\C:\Websites\xxx\www\web.config (58) :Cannot add duplicate collection 
    entry of type &apos;mimeMap&apos; with unique key attribute 
    &apos;fileExtension&apos; set to &apos;.woff&apos; 
    </Data> 
</EventData> 

Ciò che è accaduto è, un nuovo tipo MIME per il servizio web-fonts (.woff) erano stati esplicitamente aggiunto al sito.

In seguito, il nuovo tipo Mime (.woff) è stato aggiunto anche ai tipi mime IIS globali.

Anziché l'impostazione del sito Web che ha annullato l'impostazione globale, è stata generata un'eccezione.

+1

Non l'ho provato ma non sarei sorpreso se il tentativo di sovrascrivere altre impostazioni in web.config rispetto a quelle globali causerebbe anche questo. – nrkn

+3

Grande domanda, grazie per averlo pubblicato. Le cose stavano lavorando su un server DEV e il client ha acquistato hosting utilizzando GoDaddy. Dopo aver distribuito il sito, abbiamo ricevuto 500 errori per qualsiasi richiesta di contenuto statico (CSS, Immagini, ecc.). Abbiamo aggiunto una mappa mime di contenuto statico per .SVG per mappare a image/svg + xml poiché IIS non ne ha uno per impostazione predefinita. La tua risposta era esattamente ciò di cui avevo bisogno, abbiamo rimosso la mappa del contenuto statico dal nostro web.config, ricaricata e risolto il problema. –

+0

Felice che abbia aiutato! È un errore piuttosto sgradevole - mi ci è voluto un po 'per capirlo. – nrkn

3

finalmente risolto questo errore interno del server durante la distribuzione di 500 applicazioni MVC 3.0 su godaddy.ocm hosting condiviso

qualche modo c'erano discrepanze sulla versione di DLL a cui fa riferimento e la versione di cui al web.config.

Provato tutte le opzioni menzionate in vari forum, Niente ha aiutato, anche se tutti hanno suggerito lo stesso tipo di correzione, ma in qualche modo non ha funzionato nel mio scenario. finalmente dopo aver sbattuto la testa per 2 giorni. Ho deciso di eliminare tutto il riferimento a dll ed eliminare web.cofig (creare una copia locale) dal progetto e lasciare che l'errore di lancio dell'applicazione e quindi aggiungere dll uno per uno facendo copia su local = true. dopo aver aggiunto tutte le DLL. Ho creato una nuova applicazione asp.net mvc e ho copiato il web.config della nuova app nella mia app vera e propria. quindi la mia app attuale ora ha un nuovo web.config, quindi ho copiato il connectiontring e altri riferimenti dalla copia locale di web.config che ho salvato.

appena compilato l'applicazione e pubblicato a cartella locale e FTP la cartella pubblicata a GoDaddy

Ha funzionato e, infine, il mio problema è stato risolto

Spero che questo aiuterà le persone e non sprecare 2 giorni come me ,

8

rimuovere sempre eventuali mimeType che si desidera aggiungere, nel caso in cui è già definito a livello di IIS/server, ad esempio:

<staticContent> 
    <remove fileExtension=".otf" /> 
    <mimeMap fileExtension=".otf" mimeType="application/x-font-otf" /> 
</staticContent> 
+0

Testare una WebApp in Windows 10 ha dato continuamente 500 Errore interno del server a causa di questa linea (che era richiesto in Windows 8.1 prima) Aggiungendo il tag remove è stato fatto funzionare prima in entrambi gli ambienti – Meoiswa

Problemi correlati