Настройка типов MIME с использованием сервера разработки ASP.NET - PullRequest
36 голосов
/ 08 мая 2011

Я добавил следующее в файл web.config, но, похоже, это игнорируется сервером разработки, встроенным в Visual Studio 2010. Кто-нибудь знает, как изменять типы MIME на сервере разработки?

<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>

Ответы [ 3 ]

38 голосов
/ 08 мая 2011

Встроенный веб-сервер разработки в Visual Studio (Cassini) не знает <system.webServer>, только IIS7.x или IIS7.5 Express будут использовать эти параметры.

Также типы содержимого статических файловв веб-сервере разработки Visual Studio жестко запрограммированы.

С Microsoft.VisualStudio.WebHost.Connection (разобран с помощью .NET Reflector):

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");
}

Если честно, с появлением IIS7.5 Express Iне могу понять, почему вы хотите использовать встроенный веб-сервер.Cassini может быть причиной такой путаницы, когда речь идет о времени развертывания на производственном сервере, потому что это не что иное, как реальная сделка (безопасность, конфигурация и т. Д.), В то время как если вы можете запустить свой сайт на IIS7.5 Express, то это довольно высокаявероятность того, что развертывание на производственном сервере IIS7.5 будет «просто работать».

Я не удивлюсь, если Microsoft выдернет сервер Cassini из следующей версии Visual Studio, учитывая, насколько легко работать с IIS7.5 Экспресс.

4 голосов
/ 22 августа 2013

Только что была эта проблема, но мне нужно было найти конфигурацию для IIS Express, чтобы я мог добавить типы MIME. Для меня он был расположен на C:\Users\<username>\Documents\IISExpress\config\applicationhost.config, и я смог добавить туда правильную «карту пантомимы».

0 голосов
/ 02 августа 2014

То же самое можно сделать, изменив типы MIME с помощью диспетчера IIS, как указано выше - Здесь

...