RestResponse является нулевым при запросе POST с использованием RestSharp - PullRequest
2 голосов
/ 03 февраля 2012

Я делаю POST-запрос с RestSharp (на клиенте Windows Phone 7.1). Я отправил строку в службу в теле запроса. Похоже, что служба успешно вызвана и возвращает правильное значение (целое число), однако объект ответа имеет значение null:

client.ExecuteAsync<T>(request, (response) => {
    data = response.Data;  // response is null in debugger
});

Я не могу понять, почему это так.

Ответы [ 2 ]

0 голосов
/ 10 августа 2013

Это, кажется, постоянная проблема с асинхронными вызовами RestSharp - для ошибок транспорта HTTP Объект ErrorException бесполезен (возвращает ноль). Проверьте свойство StatusCode, если оно возвращается с чем-либо кроме HttpStatusCode.OK. StatusDescription также не очень полезно, так как не соответствует полному сообщению о состоянии из полезной нагрузки ответа сервера.

0 голосов
/ 03 февраля 2012

<T> не является допустимым значением для этого вызова.Я не уверен, что это будет построено там, если вы не обернули его в общий метод.

Кроме того, ответ возвращается в виде простого текста?Какой тип содержимого возвращается?Скорее всего, вы должны просто использовать ExecuteAsync(request, callback) без универсального параметра и извлечь данные из response.Content, который является строкой тела ответа.response.Data - для автоматически десериализованного ответа XML или JSON (или пользовательского), если вы используете перегрузку универсального метода, которая указывает тип для десериализации.

...