2

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

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

我不明白为什么会这样。

4

2 回答 2

0

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

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

于 2012-02-03T01:12:38.117 回答
0

这似乎是 RestSharp 异步调用的一个持续问题 - 对于 HTTP 传输错误 ErrorException 对象是无用的(返回 null)。如果返回的不是 HttpStatusCode.OK,请检查 StatusCode 属性。StatusDescription 也不是非常有用,因为它与来自服务器响应负载的完整状态消息不匹配。

于 2013-08-10T15:08:28.917 回答