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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Неотлавливаемый ObjectDisposedException 
:(
    Опции темы
Dblma
Дата 10.9.2009, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Добрый день.

Вот такой код (сразу оговариваю - Compact Framework):
Код
List<string> results = new List<string>();
            for (int i = 0; i < 30; i++)
            {
                WebRequest request = WebRequest.Create("http://localhost/index.php?id=" + i);
                WebResponse response = null;

                try
                {
                    response = request.GetResponse();
                }
                catch (WebException)
                {
                     if (response != null) response.Close();
                    continue;
                }

                if (response.ResponseUri != request.RequestUri) continue;

                Stream responceStream = response.GetResponseStream();
                Encoding encoding = Encoding.GetEncoding(1251);
                TextReader reader = new StreamReader(responceStream, encoding);
                string contentAll = reader.ReadToEnd();
                try
                {
                    int start =
                    contentAll.IndexOf("<td>",
                                       contentAll.IndexOf("<table id=\"Content\"",
                                                          StringComparison.InvariantCultureIgnoreCase),
                                       StringComparison.InvariantCultureIgnoreCase) + 4;
                    int end = contentAll.IndexOf("</table> <!--Content-->", start, StringComparison.InvariantCultureIgnoreCase);
                    results.Add(contentAll.Substring(start, end-start));
                }
                catch (Exception)
                {
                    continue;
                }
                finally
                {
                    reader.Close();
                    responceStream.Close();
                    response.Close();
                }
            }


В районе reader.ReadToEnd() в произвольной итерации цикла происходит ObjectDisposedException, но происходит он в каком то другом потоке (сам я его не создаю, похоже в реализации ReadToEnd() используется параллельный поток)

В Message эксепшена только вот что:
Код
"ObjectDisposedException"


В StackTrace:
Код
в System.Threading.Timer.throwIfDisposed()
в System.Threading.Timer.Change(UInt32 dueTime, UInt32 period)
в System.Threading.Timer.Change(Int32 dueTime, Int32 period)
в System.Net.HttpWebRequest.startReadWriteTimer()
в System.Net.HttpWebRequest.ConnectionClient.Read(Byte[] data, Int32 offset, Int32 length)
в System.Net.HttpReadStream.NetworkRead(Byte[] data, Int32 offset, Int32 length)
в System.Net.ChunkedReadStream.fillBuffer()
в System.Net.ChunkedReadStream.getLine()
в System.Net.ChunkedReadStream.doRead(Byte[] data, Int32 offset, Int32 length)
в System.Net.HttpReadStream.ReadToDrain(Byte[] buffer, Int32 offset, Int32 length)
в System.Net.HttpReadStream.doClose()
в System.Net.HttpReadStream.Finalize()


Не подскажите, куда копать и что я делаю не так?
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


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

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


 




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


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

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