2

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);
                    }
                });

ありがとうございました!

4

1 に答える 1