Exemplo n.º 1
0
        public async Task GetImage(int index)
        {
            var response = Response;

            response.Headers.Add("Content-Type", "text/event-stream");
            response.Headers.Add("Cache-Control", "no-cache");
            response.Headers.Add("Connection", "keep-alive");

            string previousName = "";

            for (var i = 0; true; i = (i + 1) % 100)
            {
                string  imageName = "/empty.png";
                ImageVM image     = _livedata.GetImages().Find(i => i.index == index);
                if (image != null)
                {
                    imageName = image.filename;
                }
                if (!imageName.Equals(previousName))
                {
                    await response.WriteAsync($"id: ${i}\n");

                    await response.WriteAsync("event: message\n");

                    await response.WriteAsync($"data: {imageName}\n\n");

                    previousName = imageName;
                }

                await response.Body.FlushAsync();

                await Task.Delay(200);
            }
        }
 public List <ImageVM> GetActive()
 {
     return(_liveDataService.GetImages());
 }