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