107 / 107 / 9
Регистрация: 19.12.2010
Сообщений: 417
|
|||||||||||
1 | |||||||||||
Перегрузка WebClient.GetRequest() и передача исключения вверх по стеку13.05.2012, 14:08. Показов 1364. Ответов 2
Метки нет (Все метки)
Здравствуйте.
Я расширил WebClient, чтобы пользоваться Cookies и некоторыми другими вещами. Сам класс: CookieAwareWebClient.cs
Но, проблема в том, чтобы при возникновении исключения в CookieAwareWebClient.GetRequest() передать его наружу. Для демонстрации проблемы покажу пример: Пример проблемы. Program.cs
При возникновении исключения в CookieAwareWebClient.GetRequest(), исключение по стеку должно передаться вверх в WebClient.DownloadString(), затем в Program.Download(), Program.Main() и там обработаться. При запуске exe-файла вне Visual Studio так и происходит, а во время отладки в VS исключение возникает в CookieAwareWebClient.GetRequest() и никуда дальше передаваться не хочет. Повторная генерация исключения в CookieAwareWebClient.GetRequest() (я об re-throw: throw; ) не помогает. Что не так? Как сделать так, чтобы исключение передавалось на верх и обрабатывалось в VS так же, как и без неё? Что я упускаю из виду? Пытался гуглить - не удалось нормально сформулировать запрос, чтобы найти что-то полезное. Заранее спасибо.
0
|
13.05.2012, 14:08 | |
Ответы с готовыми решениями:
2
Организация собственного исключения и передача в него исходного исключения Перегрузка операция, исключения Правильная передача GET параметра в WebClient Кеширование результата работы Webclient.DownloadStringAsync() (Windows Phone 8 Webclient) |
107 / 107 / 9
Регистрация: 19.12.2010
Сообщений: 417
|
|
15.05.2012, 09:18 [ТС] | 2 |
Неужели придётся писать свой WebClient на основе HttpWebRequest?
Нет идей по-лучше как можно загружать страницу, предварительно отправив POST-данные и куки, получить куки от сервера, обработать и отправить запрос вновь?
0
|
17685 / 12871 / 3365
Регистрация: 17.09.2011
Сообщений: 21,136
|
|
15.05.2012, 11:55 | 3 |
У вас похоже студия настроена на включение отладчика при возникновении пользовательских исключений.
Зайдите в Debug -> Exceptions и там снимите галочку с тех исключений, на которых вы не хотите подключать отладчик.
1
|
15.05.2012, 11:55 | |
15.05.2012, 11:55 | |
Помогаю со студенческими работами здесь
3
Ссылки для скачивания с помощью WebClient.DownloadFile и WebClient.DownloadFileAsync Передача данных вверх по ветке классов (не наследование) Передача исключения из дочерней формы в главную Передача исключения из одного catch-блока в другой WebClient.DownloadFileAsync и WebClient.DownloadFile Перегрузка методов и передача аргументов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |