使用RestSharp在POST请求中,RestResponse为空

时间:2012-02-03 01:06:18

标签: windows-phone-7.1 restsharp

我正在使用RestSharp发出POST请求(在Windows Phone 7.1客户端上)。我将字符串发送到请求正文中的服务。看起来服务已成功调用,它返回正确的值(整数),但响应对象为null:

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

我不明白为什么会这样。

2 个答案:

答案 0 :(得分:0)

<T>不是该调用的有效值。我不确定除非你用通用方法包装它,否则它甚至会在那里构建。

此外,响应是否以纯文本形式返回?什么是Content-Type返回?最有可能的是,您应该只使用ExecuteAsync(request, callback)而不使用泛型参数,并从response.Content中获取数据,这是响应正文的字符串。 response.Data用于自动反序列化的XML或JSON(或自定义)响应,如果您使用指定要反序列化的类型的泛型方法重载。

答案 1 :(得分:0)

这似乎是RestSharp异步调用的持续问题 - 对于HTTP传输错误,ErrorException对象无用(返回null)。检查StatusCode属性是否返回除HttpStatusCode.OK之外的任何内容。 StatusDescription也不是非常有用,因为它与服务器响应有效负载中的完整状态消息不匹配。