Silverlight - проверка ответа HTTP 302 - PullRequest
0 голосов
/ 26 февраля 2009

Кто-нибудь знает, возможно ли обнаружить, что ответ на вызов WCF в Silverlight привел к 302 (временное перенаправление).

302 генерируется, потому что наш сервис отстает от ISA и времени ожидания сеанса пользователя. Приложение Silverligt остается загруженным в браузере, и пользователь взаимодействует для вызова WCF, который завершается неудачно. Я могу получить ошибку Not Found, но об этом также сообщается по ряду различных проблем, поэтому на самом деле это не решение. Я хочу специально настроить таргетинг на 302 и обновить страницу, чтобы пользователь снова прошел аутентификацию.

Ответы [ 2 ]

1 голос
/ 28 мая 2012

Я столкнулся с подобной проблемой и, к счастью, нашел решение: чтобы иметь возможность получить StatusCode веб-запроса, отличного от 200 или 404, вы должны использовать

var request = WebRequestCreator.ClientHttp.Create(uri)

вместо

var request = WebRequest.Create(uri) as HttpWebRequest;

Я недавно написал сообщение по этому вопросу, вы можете посмотреть здесь .

0 голосов
/ 17 ноября 2009

Я искал ответ на тот же вопрос, но решил не использовать этот подход для решения проблемы, с которой столкнулся, поэтому у меня нет для вас полного решения, но если вы используете Silverlight 3 тогда вы сможете решить ее. Я дошел до использования альтернативного стека Http, как обсуждалось внизу этой страницы:

http://developers.de/blogs/damir_dobric/archive/2009/08/22/soap-faults-and-new-network-stack-in-silverlight-3.aspx

Это, по крайней мере, позволило мне получить доступ к ошибкам SOAP, но я не знаю, можете ли вы / как получить доступ к ответам HTTP 302, так как, когда я пытался это сделать, я обнаружил, что Silverlight действительно следует за перенаправлением и повторите мой SOAP-запрос, а не отправляйте его обратно в мое приложение.

Однако я начал исследовать, как это можно изменить с помощью поведения. Я не продвинулся далеко с этим расследованием, хотя и не знаю, выполнимо ли оно или нет!

...