Почему я получаю ошибку 500.0 при использовании IIS Express (значительная информация об отладке включена)

Я создал пустое приложение MVC 3 на VS2010 SP1 и установил приложение для использования IIS Express. Когда я отлаживаю, я получаю ошибку 500.0 (0x80070585)

Я могу успешно запускать приложение с помощью сервера VS dev

Я установил каталог приложений в "Полные разрешения для всех", чтобы устранить все возможные проблемы с безопасностью. Я также подтвердил, что IIS express может нажать на web.config, подтвердив его с помощью SysInternals ProcMon. ProcMon не показывает, что процесс IISExpress пытается прочитать из любых других файлов в моем каталоге приложений.

Я следил за предложениями по следующему вопросу, но это не дает мне никакой лучшей информации. Внутренняя ошибка HTTP 500 - веб-сайты IIS

В каталоге IISExpress в каталоге журналов или TraceLogs не создаются журналы, но журнал создается в Temp, однако это не очень полезно.

Successfully registered URL "http://localhost:62017/" for site "MvcApplication1" application "/"
Registration completed for site "MvcApplication1"
Request ended: http://localhost:62017/ with HTTP status 500.0
Request ended: http://localhost:62017/ with HTTP status 500.0
Request ended: http://localhost:62017/ with HTTP status 500.0

Нет сообщений, которые я могу найти в средстве просмотра событий

** Обновления: ** Отключенный брандмауэр, без изменений Ran IISExpress через командную строку без изменений

Ответ 1

переустановка iis express, похоже, разрешила эту проблему.

Ответ 2

У меня была такая же проблема на прошлой неделе, приложение отлично работает на веб-сервере dev от VS Studio. Но в IISExpress в любое время HTTP Ошибка 500. Мое решение в это время было:

  • закрыть VS Studio - набор решений с помощью IISExpress
  • получил:/Document/IISExpress/config/в вашем профиле
  • переименовать или удалить applicationhost.config
  • откройте решение в VS Studio
  • Диалог будет запускаться из IISExpress - это установит новую конфигурацию.
  • попробуйте запустить веб-приложение.

Ответ 3

Возможно, в файле Web.Config есть какой-то mime-код:

<mimeMap fileExtension=".svg" mimeType="image/svg+xml" />

если это так, вы должны удалить mimeMap перед добавлением:

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

....
...
..
.

Ответ 4

Это может быть связано с конфликтом между IIS Express applicationhost.config и вашим web.config.

MimeType был добавлен в мой локальный web.config, который уже присутствовал в applicationhost.config, и IIS Express начал обслуживать множество 500 ошибок.

Вы также можете заметить эту ошибку в своем журнале событий Windows: "Недопустимый каталог для кэширования сжатого содержимого. Статическое сжатие отключено".

Дополнительная информация: http://blog.degree.no/2013/04/the-directory-specified-for-caching-compressed-content-is-invalid-static-compression-is-being-disabled/

Я удалил mimeTypes из web.config, и проблема была решена.

applicationhost.config местоположение: C:\Users\[User]\Documents\IISExpress\config

Ответ 5

Используете ли вы PLINQ (.AsParallel) или Parallel.For или аналогичные методы? Я обнаружил, что AggregateException, которые они бросают, не обрабатываются MVC (в моем случае я получил пустую страницу 500 и ничего в журналах журналов/событий).

Я идентифицировал проблему, обратив внимание на исключения "First Chance", которые регистрируются в окне вывода Debug в VS. Попробуйте запустить сайт, ожидая его ошибки, очистив окно отладки и перезагрузив страницу. Вы видите что-нибудь полезное?