Ошибка в веб-запросе

Я работаю с WebClient некоторое время. (с использованием Mango SDK)

Каждый раз, когда у меня возникает ошибка, сообщение об ошибке всегда «Не найдено». Либо ошибка связана с проблемой входа в систему, сервер или страница не найдены. Любой код ошибки >= 400 вызывает одно и то же исключение с тем же сообщением и без данных.

Я пытался использовать WebRequest/WebResponse, но проблема всегда одна и та же.

Я имею в виду, что я знаю, как правильно написать это на C# (для рабочего стола), но на windows phone у меня нет доступа ни к коду ошибки, ни к тексту ответа.

Я нашел много сообщений, говорящих о проблеме, но никаких решений не указано.

Есть ли у кого-нибудь решение или обходной путь (даже грязный...) Я открыт для любых предложений.


person SirLeamont    schedule 07.02.2012    source источник


Ответы (1)


Эта (очень вводящая в заблуждение) ошибка часто вызвана базовой ошибкой HTTP.

Если вы используете HTTPS, это может быть связано с тем, что он самозаверяющий (или иначе неподдерживаемый) сертификат. Вы можете временно обойти это, отправив сертификат по электронной почте на учетную запись на телефон, но он не будет продаваться на рынке.

Если запросы не HTTPS, вы можете запустить Fiddler, чтобы узнать, в чем заключается основная ошибка. (Совет: эмулятор WP будет использовать Fiddler только в том случае, если Fiddler был запущен при запуске, поэтому вам, возможно, придется закрыть его).

Чтобы получить доступ к данным, вам нужно получить WebException (это может быть InnerException того, что выбрасывается), а затем вы можете получить доступ к Ответ

person Richard Szalay    schedule 07.02.2012
comment
@SirLeamont - Вы пытались получить доступ к ответу через WebException? - person Richard Szalay; 07.02.2012
comment
Простое приведение от e.Error к WebException, и все работает нормально. Кажется, я слишком долго смотрел на это... - person SirLeamont; 08.02.2012