Как настроить IIS для SVG и веб-тестирования с Visual Studio?

IMO разрешение всем пользователям, выполненным как администратор на их локальных машинах, является довольно плохой идеей, если Вы только делаете его для создания установки программного обеспечения легче, учитывают вышеупомянутый комментарий о щелчке правой кнопкой и выполнении установки как администратор с собственными учетными данными.

14
задан 23 May 2017 в 05:41
6 ответов

От Вашей трассировки Скрипача кажется, что Вы служите своим страницам с помощью встроенного веб-сервера Visual Studio:

Server: ASP.NET Development Server/10.0.0.0

, Если бы это подавалось IIS7 затем, мы видели бы:

Server: Microsoft-IIS/7.5

встроенный веб-сервер Visual Studio только имеет ограниченный набор типов пантомимы, которым он может служить и не знает о пантомиме, вводит Вас набор для IIS7. Я описал решение подобной проблемы на Переполнении стека некоторое время назад:

Установка типы MIME с помощью Сервера разработки

ASP.NET встроенный сервер служит Вашему .svg файл как:

Content-Type: application/octet-stream

Это, вероятно, что заставляет браузер запрашивать для загрузки.

В Visual Studio проверяют, что Вы используете IIS Express путем открытия свойств проекта сайта и выбора вкладки "Web" из вертикального списка вкладки:

enter image description here

, Если Вам не установили экспресс IIS 7.5, можно получить его отсюда:

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

Вам будет нужен Пакет обновления Visual Studio 2010 года 1, чтобы в полной мере воспользоваться:

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

поддержка IIS Express

Visual Studio 2010 SP1 позволяет Вам использовать Internet Information Services (IIS) 7.5 Экспрессов в качестве локального хостинг-сервера для веб-сайта и веб-приложения Проекты.

экспресс IIS 7.5 Примечания не включен в SP1, и необходимо загрузить его отдельно. Для получения дополнительной информации посетите следующий блог: http://weblogs.asp.net/scottgu/archive/2011/01/03/vs-2010-sp1-beta-and-iis-developer-express.aspx

при выполнении этого, можно добавить .svg тип пантомимы в файл приложения web.config:

<configuration>
   <system.webServer>
      <staticContent>
         <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
      </staticContent>
   </system.webServer>
</configuration>
14
ответ дан 20 November 2019 в 23:06

Как упомянуто выше, Cassini игнорирует эти настройки в web.config, таким образом, нужно использовать IIS Express вместо этого (при настройках проекта VS) https://stackoverflow.com/questions/5924647/setting-mime-types-using-the-asp-net-development-server

Для надевания большего количества информации, как настроить типы MIME с помощью администратора, которого видят UI или использование web.config для IIS или IIS Express: http://4rapiddev.com/tips-and-tricks/add-mime-type-flv-mp4-in-iis-for-a-website-or-global/ и http://4rapiddev.com/tips-and-tricks/add-mime-type-flv-mp4-to-web-config-in-iis-7/

2
ответ дан 20 November 2019 в 23:06

Я использовал ответ Kev:

  1. экспресс IIS 8.0 Установки от Установщик Веб-платформы
  2. свойства Изменяющегося проекта для использования IIS Express и создания Виртуального каталога для него
  3. Добавление в web.config's конфигурация в †’ system.webServer
<staticContent>
    <remove fileExtension=".svg" />
    <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
</staticContent>
2
ответ дан 20 November 2019 в 23:06

Мое обходное решение для этого должно было создать мой собственный httphandler локально, который перезаписал тип контента для 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();
    }
}

и в web.config я добавил:

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

с этим решением Вы не должны использовать экспресс IIS, можно просто использовать обычный сервер разработки в Visual Studio 2010

2
ответ дан 20 November 2019 в 23:06

Я выполняю IIS7 и смог зафиксировать это путем щелчка правой кнопкой по серверу в IIS и выбора свойств. Затем я нажал на Типы MIME... кнопка. Я затем нажал New. Для расширения я ввел в .svg. Для Типа MIME я ввел в image/svg+xml. Я затем сохранил, все и сделало iisreset от командной строки. Работавший отлично.

1
ответ дан 20 November 2019 в 23:06

Если у Вас есть доступ к IIS затем, это также решает проблему: http://httpjunkie.com/2014/884/svg-no-iis/

0
ответ дан 20 November 2019 в 23:06

Теги

Похожие вопросы