Ошибка ASP.NET XML Parsing: ни один элемент не найден Номер строки 1, столбец 1 Ошибка

Эй, я нашел странную темпераментную страницу, которая случайным образом дает мне следующую ошибку.

XML Parsing Error: no element found
Location: http://kj2011/site_2011/nonprofit-database/overview.aspx
Line Number 1, Column 1:

Эта страница была в порядке как 2 недели, но по состоянию на вчерашний день я случайно получил вышеуказанную ошибку. Я должен был удалить страницы и воссоздать ошибку, но она вернется через несколько часов. У меня есть другие шаблоны

i.e http://kj2011/site_2011/nonprofit-database/financial.aspx

Что имеет тот же главный файл и пользовательские элементы управления, но никогда не получает ошибку только на странице overview.aspx.

Любые идеи?

Ответ 1

Это была проблема с внешней DLL, которая создала страницу с именем view.aspx в той же папке, которая вызвала проблему с нашим обзором .aspx. Мы просто переименовали страницу, и проблема исчезла.

Ответ 2

Это похоже на страницу с ошибкой Firefox, которая возвращалась, когда FF ожидает HTML и вместо этого получает пустой документ. Попробуйте взглянуть на него с включенным Firebug и посмотреть, что говорит вкладка Net - возможно, у вас хороший заголовок, но нет html.

Обычно такое происходит не из-за ошибки ASP.NET(так как с теми, у кого все еще есть тело документа на странице "Желтый экран смерти" ), но больше похоже на сетевую ошибку...

Можно ли попытаться взглянуть на него с другого компьютера, чтобы убедиться, что проблема?

Ответ 3

Чтобы найти проблему, связанную с этой проблемой.

В файле global.asax добавьте:

void Application_Error(object sender, EventArgs e)
{
    Exception objErr = Server.GetLastError().GetBaseException();
    string err =    "Error caught in Application_Error event" +                
            "\n \nError Message: " + objErr.Message.ToString()+ 
            "\n \nStack Trace: " + objErr.StackTrace.ToString();

       System.Diagnostics.EventLog.WriteEntry("MYApplication", err, System.Diagnostics.EventLogEntryType.Error);
    Server.ClearError();     
} 

Здесь вы можете установить точку прерывания или записать это сообщение в EventLog.

Ответ 4

Наиболее вероятной причиной такой проблемы является безопасность, если проблема возникает! проверьте безопасность файла и убедитесь, что он доступен для процесса asp.net. (ASP.NET Необходимые списки контроля доступа (ACL)), также это происходит с локальными вызовами на одном сервере?

Еще одна вещь - проверить свою страницу и убедиться, что в вашей разметке нет одного или нескольких незакрытых тегов.

Ответ 5

Я просто отладил эту проблему на своем веб-сайте. В моем случае причиной был вызов Response.End(). Вы можете воссоздать ошибку, отбросив Response.End() как первую строку Page_Load.

Из MSDN ms524629:

Метод Response.End заставляет веб-сервер прекратить обработку script и вернуть текущий результат. Оставшееся содержимое файла не обрабатывается.

В моем случае, Response.End() вызывается до того, как любой контент был записан в буфер. Кроме того, в заголовке ответа не было Content-Type (см. Прикрепленный экран Firebug). Я предполагаю, что из-за этих двух факторов Firefox не знал, что с этим делать, и по умолчанию он пытался обработать его как XML файл.

В вашей ситуации я предполагаю, что дополнительный файл View.aspx вызвал исключение, которое прерывало цикл рендеринга страницы.

http://i.stack.imgur.com/wpLrt.png

http://i.stack.imgur.com/LE59C.png

Ответ 6

Только для справки в будущем, если люди придут сюда из Google

В соответствии с этим потоком существует много разных причин для получения этой ошибки. В моем случае это вызвано переопределением override void Render(System.Web.UI.HtmlTextWriter writer)

и я не вызывал base.Render(writer); в конце переопределенной функции.

Ответ 7

Когда проблема с rewrite URL-адреса в web.config возникает - ошибка отправки браузера 404. Попробуйте прокомментировать все rules и еще раз проверьте, возникает ли ошибка 404.

Ответ 8

Просто чтобы охватить все возможности. Сегодня я получил ту же ошибку, независимо от того, на какую страницу я пытался получить доступ, но это была совершенно не связанная проблема.

По какой-то причине Skype загрузился до IIS при запуске Windows и взял под свой контроль порт 80 вместо обычного 17112. Всякий раз, когда я пытался получить доступ к странице, Skype возвращал пустой ответ.

Вы можете просто отключить Skype и reset IIS, но чтобы убедиться, что это никогда не произойдет, выполните следующие действия:

Перейдите к:

Skype > Tools > Options > Advanced > Connection

И снимите флажок Использовать порт 80 и 443 в качестве альтернативы для подключения соединений

Ответ 9

некоторое время Этот тип ошибки возникает, когда у вас есть файл app_offline.html в вашем каталоге. Когда ASP.Net обнаружил имена файлов app_offline.htm в корне каталога веб-приложений, он отключил приложение, выгрузил домена приложения с сервера и прекратить обработку любых новых входящих запросов для этого приложения. Затем ASP.NET отвечает на все запросы на динамические страницы в приложении, отправляя содержимое файла app_offline.htm. По умолчанию используется сообщение об ошибке.

Ответ 10

Не удалось найти папку App_Themes, когда я получил это.