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 файл в мое решение (так что он не публиковался лазурь). Не уверен, почему он жалуется на значок, хотя.
Ответ 3
Это сообщение об ошибке немного запутанно. Реальная проблема заключается в Startup.cs. Вы должны это сделать, включив приложение в режиме разработчика:
Показать страницу с ошибкой ASP.NET 5 в веб-приложении Azure