EventSource / Server-Sent Events プロトコルを介して、Windows Phone で Firebase API を使用しようとしています。
以下のコードは、を設定しない場合に機能しますAccept: text/event-stream
。このようにして、要求された json 全体を取得します。ただし、 Acceptがtext/event-streamに設定されている場合、タスクは続行されません。
request.AllowReadStreamBuffering
設定してfalse
も変わらない
var request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
request.AllowAutoRedirect = true;
request.Accept = "text/event-stream";
//request.AllowReadStreamBuffering = false;
Task.Factory.FromAsync<WebResponse>(request.BeginGetResponse,
request.EndGetResponse,
null)
.ContinueWith(async t =>
{
using (Stream s = t.Result.GetResponseStream())
{
byte[] buffer = new byte[1024 * 8];
int bytesRead = await s.ReadAsync(buffer, 0, buffer.Length);
string content = Encoding.UTF8.GetString(buffer, 0, bytesRead);
System.Diagnostics.Debug.WriteLine(content);
}
});
ありがとうございました!