예제 #1
0
        public async Task Run()
        {
            _contextId = DateTime.Now.ToString("yyyyMMddHHmmss", CultureInfo.InvariantCulture);

            await EnsureStickiness();

            await Task.WhenAll(
                _signalRConnectionManager.CreateStreamingConnection(_contextId),
                _subscriptionManager.CreateSubscriptions(_contextId));

            _activityMonitor.StartActivityMonitor();

            Console.WriteLine("Press 'Q' to quit or SPACE to see the current data snapshots");
            while (true)
            {
                var key = Console.ReadKey(intercept: true);
                if (key.KeyChar == 'Q' || key.KeyChar == 'q')
                {
                    break;
                }
                PrintSnapshots();
            }

            _activityMonitor.StopActivityMonitor();

            await _subscriptionManager.DeleteSubscriptions();

            _signalRConnectionManager.StopConnection();
        }