【发布时间】:2014-06-30 03:57:55
【问题描述】:
我正在使用 Nest API,它支持通过 Firebase 进行 REST 流式传输。我有 REST 工作,但是我无法让它正确流式传输。这对我的应用程序非常重要,而 REST 对我想做的事情并没有效果。
我正在使用 Hammock 处理请求,代码如下:
public class NestAPI
{
private RestClient client { get; set; }
public NestAPI()
{
this.client = new RestClient();
this.client.Authority = "https://developer-api.nest.com/";
this.client.HasElevatedPermissions = true;
}
public void BeginStreaming()
{
RestRequest request = new RestRequest();
request.AddParameter("auth", App.accessToken);
request.RetryPolicy = new RetryPolicy() { RetryCount = 3 };
//Enables streaming
//request.AddHeader("Accept", "text/event-stream");
//request.StreamOptions = new StreamOptions() { Duration = new TimeSpan(96, 0, 0), ResultsPerCallback = 1 };
this.client.BeginRequest<object>(request, new RestCallback<object>(this.StreamCompletedEvent));
}
private void StreamCompletedEvent(RestRequest request, RestResponse<object> response, object userState)
{
//TO DO: check for errors first
string json = response.Content;
}
public void EndStreaming()
{
this.client.CancelStreaming();
}
}
此代码有效并且确实返回 JSON,但是我似乎无法启用流式传输。当我取消注释“启用流”下面的行时,回调事件永远不会触发。请务必注意,身份验证是使用 uri 参数“auth”完成的。
不幸的是,似乎没有可用的 Firebase 库,而 REST 是我唯一的选择。我想知道 JSON 属性何时发生变化并想在流式传输时设置不同的值。
【问题讨论】:
-
我们使用的是 Hammock 还是 hammock2?前者已落伍。你在这方面有什么进展吗?尝试过 Nest 支持了吗?我很想知道结果。
标签: c# rest windows-phone-8 firebase nest-api