2012-09-13 3 views
7

Aggiunta al mio web.configAzure e .json mimeType senza web.config

<system.webServer> 
    <staticContent> 
    <mimeMap fileExtension=".json" mimeType="application/json" /> 
    </staticContent> 
</system.webServer> 

Consente la mia applicazione per funzionare su Azure, ma andrà in crash il mio server IIS remoto perché la sua già incluso. Rimozione del mimeType IIS remoto non è pratico in questo caso particolare. Finisco per utilizzare un diverso web.config

Esiste un altro meccanismo con cui posso configurare il mimeType di Azure IIS, quindi non ho questo web.config problematico?

Vorrei un singolo pacchetto di distribuzione che funzionasse su Azure e non Azure.

+1

due pensieri: trasformazione web.config, ma ciò significa diversi profili di distribuzione o un'attività di avvio in Azure che apporta le necessarie modifiche a web.config. –

risposta

16

Questo dovrebbe funzionare:

<system.webServer> 
    <staticContent> 
    <remove fileExtension=".json" /> 
    <mimeMap fileExtension=".json" mimeType="application/json" /> 
    </staticContent> 
</system.webServer> 

Vedi anche qui: http://blogs.msdn.com/b/chaun/archive/2009/12/04/iis7-error-cannot-add-duplicate-collection-entry-of-type-mimemap-with-unique-key-attribute-fileextension.aspx

Questo non fa alcuna differenza per la configurazione generale di IIS, rimuove semplicemente mimeMap dalla configurazione di questo particolare sito (come stabilito da questo web.config) prima di aggiungerlo di nuovo.

+0

grazie per l'aiuto della sintassi Non sono riuscito a ottenere questo da solo e ho rinunciato .. – Pablo

3

È possibile create a startup task che aggiunge il tipo mime a livello IIS. In questo modo non sarà necessario includere nel vostro web.config:

"%windir%\System32\inetsrv\appcmd.exe" set config /section:staticContent /+"[fileExtension='.json',mimeType='application/json']" 
exit /b 0 
+0

grazie Sono nuovo ad Azure e ovviamente ho molto da imparare – Pablo