Файл System.Web.HttpException не существует - загрузка страницы просто прекрасна (ASP.NET)
Я использую Log4Net и регистрирую каждый раз, когда мой ASP.NET-приложение вызывает ошибку:
protected void Application_Error(object sender, EventArgs e)
{
Exception ex = Server.GetLastError();
Log.Error("An error occurred", ex);
}
Увы, каждый раз, когда я посещаю страницу в своем приложении, поймается System.Web.HttpException
, "Файл не существует".
Здесь трассировка стека:
bei System.Web.StaticFileHandler.GetFileInfo(String virtualPathWithPathInfo, String physicalPath, HttpResponse response)
bei System.Web.StaticFileHandler.ProcessRequestInternal(HttpContext context, String overrideVirtualPath)
bei System.Web.DefaultHttpHandler.BeginProcessRequest(HttpContext context, AsyncCallback callback, Object state)
bei System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
bei System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
У меня нет никакой подсказки, как отлаживать это, это происходит на моем сервере разработки ASP.NET и в IIS 7.5. Я развертываю его.
Ответы
Ответ 1
Я уверен, что это favicon.ico
, которое всегда запрашивает Google Chrome и который вы забыли включить. Но чтобы убедиться, что вы можете проследить URL-адрес запроса:
protected void Application_Error(object sender, EventArgs e)
{
Exception ex = Server.GetLastError();
Log.Error("An error occurred", ex);
Log.Error("Requested url: ", Request.RawUrl);
}
Теперь в вашем файле журнала вы увидите:
Requested url: /favicon.ico
или что-то еще вроде robots.txt
, когда, например, искатели веб-страниц пытались выполнить сканирование вашего сайта.
Ответ 2
У меня такая же ошибка:
В CSS были некоторые ссылки на файлы. Это не существует в каталоге. Поэтому он дал эту ошибку.
Я создал файлы изображений, поэтому ошибка исчезла.
Поэтому убедитесь, что ссылка на файл, которую вы указали, существует в вашем каталоге
Ответ 3
Проверьте свой HTML-вывод своей страницы в случае использования URL-адреса с тильдой "~/"
Вам нужно использовать @Url.Content(), чтобы исправить его
http://clubmicrosoft.net/post/2014/02/28/File-does-not-exist.aspx