Saltar al contenido

¿Cómo configurar IIS para SVG y pruebas web con Visual Studio?

Solución:

Solución 1:

A partir de su seguimiento de Fiddler, parece que está sirviendo sus páginas utilizando el servidor web de Visual Studio integrado:

Server: ASP.NET Development Server/10.0.0.0

Si esto estuviera siendo servido por IIS7, veríamos:

Server: Microsoft-IIS/7.5

El servidor web integrado de Visual Studio solo tiene un conjunto limitado de tipos de mime que puede servir y no tiene conocimiento de los tipos de mime que establezca para IIS7. Escribí una respuesta a un problema similar en Stack Overflow hace un tiempo:

Configuración de tipos MIME mediante ASP.NET Development Server

El servidor integrado está sirviendo a su .svg archivar como:

Content-Type: application/octet-stream

Esto es probablemente lo que hace que el navegador solicite la descarga.

En Visual Studio, compruebe que está utilizando IIS Express abriendo las propiedades del proyecto de su sitio y seleccionando la pestaña “Web” de la lista de pestañas verticales:

ingrese la descripción de la imagen aquí

Si no tiene IIS 7.5 Express instalado, puede obtenerlo desde aquí:

http://www.microsoft.com/download/en/details.aspx?id=1038

Necesitará Visual Studio 2010 Service Pack 1 para aprovechar al máximo:

http://support.microsoft.com/kb/983509

Soporte IIS Express

Visual Studio 2010 SP1 le permite utilizar Internet Information Services (IIS) 7.5 Express como servidor de alojamiento local para el sitio web y los proyectos de aplicaciones web.

Nota IIS 7.5 Express no se incluye en SP1 y debe descargarlo por separado. Para obtener más información, visite el siguiente blog: http://weblogs.asp.net/scottgu/archive/2011/01/03/vs-2010-sp1-beta-and-iis-developer-express.aspx

Cuando haya hecho eso, puede agregar el .svg tipo mime al de su aplicación web.config expediente:

<configuration>
   <system.webServer>
      <staticContent>
         <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
      </staticContent>
   </system.webServer>
</configuration>

Solucion 2:

Como se mencionó anteriormente, Cassini ignora estas configuraciones en web.config, por lo que uno tiene que usar IIS Express en su lugar (en la configuración del proyecto VS) https://stackoverflow.com/questions/5924647/setting-mime-types-using-the-asp- servidor de desarrollo de red

Para obtener más información sobre cómo configurar los tipos MIME usando la interfaz de usuario del administrador o usando web.config para IIS o IIS Express, consulte: http://4rapiddev.com/tips-and-tricks/add-mime-type-flv-mp4- in-iis-for-a-website-or-global / y http://4rapiddev.com/tips-and-tricks/add-mime-type-flv-mp4-to-web-config-in-iis-7 /


Solución 3:

He usado la respuesta de Kev, por:

  1. Instalación de IIS 8.0 Express desde el instalador de plataforma web
  2. Cambiar las propiedades del proyecto para usar IIS Express y crear un directorio virtual para él
  3. Añadiendo web.config’s configuración → system.webServer
<staticContent>
    <remove fileExtension=".svg" />
    <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
</staticContent>

Solución 4:

Mi solución para esto fue crear mi propio httphandler localmente que sobrescribió el tipo de contenido para svg.

public class SvgHandler : IHttpHandler
{

    public bool IsReusable
    {
        get { return false; }
    }

    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "image/svg+xml";
        context.Response.BinaryWrite(File.ReadAllBytes(context.Request.PhysicalPath));
        context.Response.End();
    }
}

y en web.config agregué:

<httpHandlers>
  <add verb="*" path="*.svg" type="SvgHandler" />
</httpHandlers>

con esta solución no tiene que usar IIS express, solo puede usar el servidor de desarrollo normal en visual studio 2010

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *