Я разрабатываю клиент на WP7, который поддерживает потоковую передачу, а его содержимое находится на сервере Rails.
Когда я вызываю допустимый поток, все прекрасно работает, но когда я вызываю недопустимый поток, серверловит WebException
с сообщением:
The remote server returned an error: NotFound.
Это немного странно, потому что если я делаю тот же запрос в браузере (например, Google Chrome), я получаю следующее сообщение json:
{ "success":false, "error_code": "stream_not_allowed","error_message": "Streaming is not allowed" }
Что ж, я хочу получить сообщение об ошибке, чтобы показать его клиенту.
Код, который я использую:
private static void DoRequest(string path, GenericServiceHelper helper) {
var uri = new Uri(path);
var request = (HttpWebRequest)WebRequest.Create(uri);
request.Method = "GET";
helper.request = request;
request.BeginGetResponse(HandleResponse, helper);
}
private static void HandleResponse(IAsyncResult ar) {
var helper = (GenericServiceHelper)ar.AsyncState;
HttpWebRequest originalRequest = helper.request;
HttpWebResponse response;
try {
response = (HttpWebResponse)originalRequest.EndGetResponse(ar);
}
catch (WebException e) {
// It fails here
}
// Do normal stuff
}