Azure Web App: HTTP-ошибка 500 на favicon.ico

Я часто получаю следующую ошибку сервера 500 после публикации в моем Azure Web App.

Если я удалю веб-приложение, заново создаю его и повторно опубликую, все будет хорошо.

Я извлек следующую страницу ошибок, включив диагностику (на Azure Portal) и установив страницу подробных ошибок в облачном обозревателе Visual Studio 2015:

Подробное обследование

Страница ошибки:

Ошибка HTTP 500.0 - Внутренняя ошибка сервера

Невозможно отобразить страницу потому что произошла ошибка внутреннего сервера.

Скорее всего, причины:

  • IIS получил запрос; однако, внутренний при обработке запроса произошла ошибка. Основная причина эта ошибка зависит от того, какой модуль обрабатывает запрос и что происходит в рабочем процессе, когда произошла эта ошибка.
  • IIS не был возможность доступа к файлу web.config для веб-сайта или приложения. Это может произойти, если разрешения NTFS установлены неверно.
  • IIS была не удалось обработать конфигурацию для веб-сайта или приложения.
  • у аутентифицированного пользователя нет разрешения на использование этой DLL.
  • запрос сопоставляется с управляемым обработчиком, но .NET Extensibility Функция не установлена.

Что вы можете попробовать:

  • Убедитесь, что разрешения NTFS для Файл web.config является правильным и разрешает доступ к веб-серверу машина счет.
  • Проверьте журналы событий, чтобы узнать, есть ли дополнительные информация была зарегистрирована.
  • Проверьте разрешения для DLL.
  • Установить возможность расширения .NET, если запрос сопоставляется с управляемым обработчик.
  • Создать правило трассировки для отслеживания неудавшихся запросов для этого HTTP код состояния. Дополнительные сведения о создании правила трассировки для неудачные запросы, нажмите здесь.

Подробная информация об ошибке:

Модуль ManagedPipelineHandler

Уведомление MapRequestHandler

Обработчик StaticFile

Код ошибки 0x00000000

Запрошенный URL http://myurl:80/favicon.ico

Физический путь D:\home\site\wwwroot\favicon.ico

Метод входа Анонимный

Пользователь входа в систему Анонимный

Кажется, проблема в разрешении favicon.ico. Я включил и исключил это из развертывания wwwroot, но без разницы.

Кто-нибудь знает, что может пойти не так?

ПРИМЕЧАНИЕ. Я использую следующую публикацию script из MSDN, если это имеет значение.

Это связано с одним из моих предыдущих сообщений.

Ответ 1

С ASP.NET 5 может быть сложно зафиксировать ошибку. В вашем файле Startup.cs у вас есть метод Configure. Оберните все в рамках метода Configure в блок try-catch, подобный этому. Затем вы можете медленно создавать свое приложение и видеть, когда он дует. По крайней мере, вы поймете, что это не в методе Configure, или если это так, то теперь вы увидите, какая часть дополнительных функций взорвала его. Вы можете использовать эту стратегию и в других методах.

public void Configure(IApplicationBuilder app)
{
    // HACK: for Azure web apps,
    // the try-catch block lets us see errors that occur during configuration
    try
    {
        app.UseErrorPage();
        app.UseRuntimeInfoPage();
        app.UseStaticFiles();

        // add in remaining functionality one bit at a time...
    }
    catch (Exception ex)
    {
        app.Run(async (context) =>
        {
            await context.Response.WriteAsync(ex.ToString());
        });
    }

    // Run on each request
    app.Run(async (context) =>
    {
        await context.Response.WriteAsync("Hooray. It didn't error out.");
    }
}

Ответ 2

Моя проблема закончилась тем, что я включил область справки для моего API и установил ее для использования автоматически сгенерированного XML, но не включил этот XML файл в мое решение (так что он не публиковался лазурь). Не уверен, почему он жалуется на значок, хотя.