Модераторы: diadiavova, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Олвлю Null reference Exeption на пустом месте, Пожалуйста помогите разобраться... 
V
    Опции темы
JaguarSmith
  Дата 3.6.2006, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 16.1.2005

Репутация: нет
Всего: 1



Доброе время суток! smile 

 Вот есть такой код:
Код

Public Shared ReadOnly Property LoadPageFromSite(ByVal UrlToLoad As String, Optional ByVal code_page As Integer = 1251) As String
        Get
            Dim req As System.Net.HttpWebRequest
            Dim response As System.Net.HttpWebResponse

            Dim html As String = ""

            If Left(UrlToLoad, 7).ToLower <> "http://" Then UrlToLoad = "http://" + UrlToLoad

                req = System.Net.HttpWebRequest.Create(UrlToLoad)
                req.Method = "GET"
                response = req.GetResponse()
           ...


В одной из последних трёх строчек возникает Null Reference Exeption.
Код используется в веб-граббере причем проблема в том что ошибка возникает только на сервере(код используется на ASP.NET страничке) локально всё впорядке всё работает и всё замечательно. Поэтому я немогу отследить где миенно понял только что в одной из 3-х строчек.
Принцип возникновения ошибки тоже непонятен - в ряде случаев она возникает а в ряде нет...

 smile Что может вызывать ошибку и как с этим бороться?  

Это сообщение отредактировал(а) JaguarSmith - 3.6.2006, 16:25
PM MAIL YIM   Вверх
ivashkanet
Дата 4.6.2006, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 5
Всего: 149



JaguarSmith, привет.
Не знаю в чем дело. Особенно смущает эта строчка:
Цитата(JaguarSmith @  3.6.2006,  16:19 Найти цитируемый пост)
проблема в том что ошибка возникает только на сервере

Такая ошибка (пустая ссылка на объект) может возникнуть только если в 
Цитата(JaguarSmith @  3.6.2006,  16:19 Найти цитируемый пост)
 req = System.Net.HttpWebRequest.Create(UrlToLoad)

не существует страницы по адресу UrlToLoad. Тогда req не будет установлен  smile 
P.S. System.Net.HttpWebRequest.Create -- статик функция, так что в этом проблем нет. Только в том, что req = null 
PM MAIL WWW ICQ   Вверх
JaguarSmith
Дата 4.6.2006, 23:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 16.1.2005

Репутация: нет
Всего: 1



Вот я что-тьо подобное подозревал - ближе к вечеру все заработало само  но я всё-таки поставил Try-Catch для отлова и обработки ошибки... 
PM MAIL YIM   Вверх
-ser-
Дата 5.6.2006, 06:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 1.2.2005

Репутация: нет
Всего: 13



я бы пропарсил как следует строку UrlToLoad перед вызовом Create(UrlToLoad). 

слишком примитивная проверка, если это вообще можно назвать таковой. 

а если пользователь не те косые поставил, одну забыл, двоеточие забыл и проч.
 


--------------------
"Тонкая, однако, работа." 
PM MAIL ICQ   Вверх
JaguarSmith
Дата 5.6.2006, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 16.1.2005

Репутация: нет
Всего: 1



Ну она там проверяется более менее да и ссылки не битые на самом деле - они все открывались в броузере просто сервер почемуто их не видел  smile 

Но тема интересная!  smile 
Вот тут: http://forum.vingrad.ru/index.php?showtopic=95513 я разобрался с тем как проверить ссылку на рисунок. А как проверить ссылку на вебстраницу? Так как там уже не проверишь у 404 страницы ведь MIME будет такой же как и у нормальной  smile  
PM MAIL YIM   Вверх
arilou
Дата 6.6.2006, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 7
Всего: 61



Цитата(JaguarSmith @  5.6.2006,  12:49 Найти цитируемый пост)
Так как там уже не проверишь у 404 страницы ведь MIME будет такой же как и у нормальной

В хедерах WebResponse по идее должен быть код HTTP 404, сигнализирующий об отсутствии страницы, или 500 - об ошибке сервера.  


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
JaguarSmith
Дата 7.6.2006, 00:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 16.1.2005

Репутация: нет
Всего: 1



Спасибо Arilou покопаюсь! Тема для меня новая - заодно и разберусь... В общем, будут новые вопросы!  smile  
PM MAIL YIM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума VB .NET
diadiavova
  • Прежде чем задать вопрос, воспользуйтесь поиском: возможно Ваш вопрос уже обсуждался и на него был получен ответ.
  • Если такой же вопрос не найден, не стоит задавать свой вопрос в любую тему, создайте новую.
  • Заголовок темы должен отображать ее суть.
  • Содержание поста должно описывать проблему понятно, но в то же время, по возможности, лаконично. Сначала следует описать суть вопроса, потом можно привести пример кода, не вынуждайте других участников угадывать в чем Ваша проблема - телепатов здесь нет.
  • Будьте взаимно вежливы и дружелюбны.
  • При оформлении сообщений используйте форматирование, примеры кода заключайте в теги [CODE=vbnet][/CODE].
  • Также ознакомьтесь с общими правилами, действующими на всем форуме.
  • Если вопрос решен, не забывайте помечать тему решенной(вверху темы есть ссылка). Кроме того, если Вы хотите отблагодарить участников, оказавших помощь в решении, можно повысить им репутацию, в случае, если у Вас менее 100 сообщений в форуме и функция изменения репутации Вам недоступна, можете написать сюда.
  • Общие вопросы по программированию на платформе .NET обсуждаются здесь.
  • Литература по VB .NET обсуждается здесь.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB .NET | Следующая тема »


 




[ Время генерации скрипта: 0.1200 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.