Система. UriFormatException: Недопустимый URI: имя хоста не могло быть проанализировано

Внезапно я получаю следующую ошибку на своем веб-сайте. Это не получает доступ к базе данных. Это - просто простой веб-сайт с помощью.NET 2.0.

Я действительно недавно применил доступные пакеты обновления Windows Server 2003. Это, возможно, изменило вещи?

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

Ошибка сервера в '/' Приложение.

Недопустимый URI: имя хоста не могло быть проанализировано. Описание: необработанное исключение произошло во время выполнения текущего веб-запроса. Рассмотрите отслеживание стека для получения дополнительной информации об ошибке и где это произошло в коде.

Детали исключения:

Система. UriFormatException: Недопустимый URI: имя хоста не могло быть проанализировано.

Исходная ошибка:

Необработанное исключение было сгенерировано во время выполнения текущего веб-запроса. Информация относительно источника и местоположения исключения может быть определена с помощью отслеживания стека исключительной ситуации ниже.

Отслеживание стека:

[UriFormatException: Недопустимый URI: имя хоста не могло быть проанализировано.]
Система. Uri. CreateThis (Строковый uri, булевская переменная dontEscape, UriKind uriKind) +5367536 Систем. Uri. CreateUri (Uri baseUri, Строка relativeUri, булевская переменная dontEscape) +31 Система. Uri.. ctor (Uri baseUri, Строка relativeUri) +34 Системы. Сеть. HttpWebRequest. CheckResubmit (Exception& e) +5300867

[WebException: не Может обработать перенаправление от протоколов HTTP/HTTPS до других отличающихся.] Система. Сеть. HttpWebRequest. GetResponse () +5314029 Систем. Xml. XmlDownloadManager. GetNonFileStream (Uri Uri, учетные данные ICredentials) +69
Система. Xml. XmlDownloadManager. GetStream (Uri Uri, учетные данные ICredentials) +3929371 Система. Xml. XmlUrlResolver. GetEntity (Uri absoluteUri, Строковая роль, Тип ofObjectToReturn) +54
Система. Xml. XmlTextReaderImpl. OpenUrlDelegate (Возражают xmlResolver), +74
Система. Поточная обработка. CompressedStack.runTryCode (Возражают userData), +70
Система. Время выполнения. CompilerServices. RuntimeHelpers. ExecuteCodeWithGuaranteedCleanup (код TryCode, CleanupCode backoutCode, Объект userData) +0
Система. Поточная обработка. CompressedStack. Выполненный (CompressedStack compressedStack, обратный вызов ContextCallback, Объектное состояние) +108
Система. Xml. XmlTextReaderImpl. OpenUrl () +186
Система. Xml. XmlTextReaderImpl. Читайте () +208
Система. Xml. XmlLoader. Загрузка (документ XmlDocument, читатель XmlReader, булевская переменная preserveWhitespace) +112 Систем. Xml. XmlDocument. Загрузка (читатель XmlReader) +108
Система. Сеть. UI.WebControls. XmlDataSource. PopulateXmlDocument (документ XmlDocument, CacheDependency& dataCacheDependency, CacheDependency& transformCacheDependency) +303
Система. Сеть. UI.WebControls. XmlDataSource. GetXmlDocument () +153
Система. Сеть. UI.WebControls. XmlDataSourceView. ExecuteSelect (аргументы DataSourceSelectArguments) +29 Систем. Сеть. UI.WebControls. BaseDataList. GetData () +39 Систем. Сеть. UI.WebControls. DataList. CreateControlHierarchy (булевская переменная useDataSource) +264
Система. Сеть. UI.WebControls. BaseDataList. OnDataBinding (EventArgs e) +55 Систем. Сеть. UI.WebControls. BaseDataList. DataBind () +75
Система. Сеть. UI.WebControls. BaseDataList. EnsureDataBound () +55
Система. Сеть. UI.WebControls. BaseDataList. CreateChildControls () +65
Система. Сеть. UI.Control. EnsureChildControls () +97
Система. Сеть. UI.Control. PreRenderRecursiveInternal () +53
Система. Сеть. UI.Control. PreRenderRecursiveInternal () +202
Система. Сеть. UI.Control. PreRenderRecursiveInternal () +202
Система. Сеть. UI.Control. PreRenderRecursiveInternal () +202
Система. Сеть. UI.Control. PreRenderRecursiveInternal () +202
Система. Сеть. UI.Page. ProcessRequestMain (булевская переменная includeStagesBeforeAsyncPoint, булевская переменная includeStagesAfterAsyncPoint) +4588

8
задан CDspace 2 December 2016 в 15:54
поделиться

1 ответ

В Uri.Create и Uri.TryCreate есть некоторые ошибки, которые позволяют им создавать недопустимые URI, которые впоследствии не могут быть проанализированы. Время от времени я сталкивался с этим, но мне не удалось отследить строки URL-адресов, которые вызывают это. Я написал немного об этом здесь .

Если у вас есть список URL-адресов и вы знаете, что один из них вызывает проблему (у меня не было такой роскоши, поскольку я столкнулся с этим при сканировании Интернета, где я не сохранял текст страницы), вы можете найти ошибка с чем-то вроде этого псевдокода:

while not end of file
{
    string url = read from file
    Uri uri = new Uri(url);
    try
    {
        string host = uri.Host;
    }
    catch (UriFormatException)
    {
        Console.WriteLine("Bad url: {0}", url);
    }
}

Если вы можете определить некоторые URL-адреса, которые вызывают это исключение, я бы обязательно их увидел.

6
ответ дан 5 December 2019 в 22:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: