¿Cómo puedo habilitar la descarga de archivos * .json desde un antiguo sitio ASP.NET (IIS6 me hacen creer)?
Recibo una página 404 en lugar del archivo JSON.
¿Necesito crear un archivo web.config? ¿Qué pasa dentro?
¿Cómo puedo habilitar la descarga de archivos * .json desde un antiguo sitio ASP.NET (IIS6 me hacen creer)?
Recibo una página 404 en lugar del archivo JSON.
¿Necesito crear un archivo web.config? ¿Qué pasa dentro?
Respuestas:
Agregue el tipo JSON MIME a IIS 6. Siga las instrucciones en Configurar tipos MIME de MSDN (IIS 6.0) .
No olvide reiniciar IIS después del cambio.
ACTUALIZACIÓN: Hay formas fáciles de hacer esto en IIS7 y versiones posteriores. La operación solicitó específicamente la ayuda de IIS6, así que dejo esta respuesta tal como está. Pero esta respuesta sigue recibiendo mucho tráfico a pesar de que IIS6 es muy antiguo ahora. Espero que esté usando algo más nuevo, por lo que quería mencionar que si tiene una versión más nueva de IIS7 o más nueva, consulte la respuesta de @ ProVega a continuación para obtener una solución más simple para esas versiones más nuevas.
.ASPX
. Nuevamente, cambiar a un servidor con IIS7 ofrece muchas más y más fáciles soluciones.
Si desea agregar soporte manualmente a su sitio, puede agregar lo siguiente a su web.config en la sección system.webServer :
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
Esto agregará una configuración "local" en IIS. Esto no funciona en IIS6, pero funciona en IIS7 y versiones posteriores.
web.config
ruta completa .
Cannot add duplicate collection entry of type 'mimeMap' with unique key attribute 'fileExtension' set to '.csv'
vez que eliminé el duplicado, no hay problema.
Vaya a IIS, seleccione su aplicación y encuentre tipos MIME
Haga clic en Agregar desde el panel derecho
Extensión de nombre de archivo = .json
Tipo MIME = aplicación / json
Después de agregar el tipo de archivo .json en Tipos MIME , reinicie IIS e intente acceder al archivo json
Vaya a web.config de esa aplicación y agregue estas líneas en ella
<system.webServer>
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
</system.webServer>
Al agregar soporte para mimetype (como lo sugiere @ProVega), también es una buena práctica eliminar el tipo antes de agregarlo; esto es para evitar errores inesperados al implementar en servidores donde ya existe soporte para el tipo, por ejemplo:
<staticContent>
<remove fileExtension=".json" />
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
C:\Windows\System32\inetsrv\config
archivo IIS7 : applicationHost.config
Acabo de tener este problema, pero tuve que encontrar la configuración para IIS Express para poder agregar los tipos MIME. Para mí, estaba ubicado en C:\Users\<username>\Documents\IISExpress\config\applicationhost.config
y pude agregar el "mapa mimo" correcto allí.
<mimeMap>
nodo: <remove fileExtension=".json" />
. No debería tener que tocar applicationhost.config (o machine.config). Dicho esto, modificar esos archivos puede ser útil si crea sitios nuevos con frecuencia y no quiere tener que modificar el web.config para cada sitio. Eso puede funcionar para entornos de desarrollo, pero con frecuencia no puede tocar el machine.config en entornos de producción, por lo que todavía recomendaría realizar el cambio en web.config.
remove
fue la clave para mí