Файл 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