37 votes

Définition des types MIME à l'aide du serveur de développement ASP.NET

J'ai ajouté ce qui suit au fichier web.config, mais cela semble être ignoré par le serveur de développement intégré à Visual Studio 2010. Quelqu'un sait-il comment modifier les types MIME du serveur de développement?

 <system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <modules runAllManagedModulesForAllRequests="true"/>
    <staticContent>
        <mimeMap fileExtension=".mp4" mimeType="video/mp4" />          
        <mimeMap fileExtension=".ogg" mimeType="audio/ogg" />          
        <mimeMap fileExtension=".oga" mimeType="audio/ogg" />          
        <mimeMap fileExtension=".ogv" mimeType="video/ogg" />          
        <mimeMap fileExtension=".webm" mimeType="video/webm" />     
    </staticContent>  
</system.webServer>
 

38voto

Kev Points 60744

Le built-in serveur web de développement dans Visual Studio (Cassini) n'a pas connaissance d' <system.webServer>, seulement IIS7.x ou IIS7.5 Express va consommer ces paramètres.

Aussi le fichier statique des types de contenu dans Visual Studio de du serveur web de développement sont codés en dur.

D' Microsoft.VisualStudio.WebHost.Connection (démonté à l'aide .NET Réflecteur):

private static string MakeContentTypeHeader(string fileName)
{
    string str = null;
    FileInfo info = new FileInfo(fileName);
    switch (info.Extension.ToLowerInvariant())
    {
        case ".bmp":
            str = "image/bmp";
            break;

        case ".css":
            str = "text/css";
            break;

        case ".gif":
            str = "image/gif";
            break;

        case ".ico":
            str = "image/x-icon";
            break;

        case ".htm":
        case ".html":
            str = "text/html";
            break;

        case ".jpe":
        case ".jpeg":
        case ".jpg":
            str = "image/jpeg";
            break;

        case ".js":
            str = "application/x-javascript";
            break;
    }
    if (str == null)
    {
        return null;
    }
    return ("Content-Type: " + str + "\r\n");
}

Pour être honnête, avec l'avènement de IIS7.5 Express je ne vois pas pourquoi vous voulez utiliser le serveur web intégré. Cassini peut être la cause de tant de confusion quand il s'agit de temps de déploiement sur un serveur de production, car il n'est rien comme la vraie affaire (la sécurité, la configuration, etc) alors que si vous pouvez obtenir votre site en cours d'exécution sur IIS7.5 Express puis il y a une assez forte probabilité que le déploiement sur une production IIS7.5 serveur "fonctionnera".

Je ne serais pas surpris si Microsoft arrachait le Cassini serveur à partir de la prochaine version de Visual Studio étant donné la façon dont il est facile de courir avec IIS7.5 Express.

4voto

longda Points 1859

Je viens d'avoir ce problème, mais j'ai dû trouver la configuration pour IIS Express afin que je puisse ajouter les types MIME. Pour moi, il était situé à C:\Users\<username>\Documents\IISExpress\config\applicationhost.config et j'ai pu y ajouter la "carte mime" correcte.

0voto

Vintesh Points 93

La même chose peut être faite en modifiant les types MIME en utilisant le gestionnaire IIS comme mentionné - Ici

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X