示例#1
0
        // GET: /<controller>/
        public IActionResult Index()
        {
            var modelo = new Dashboard
            {
                Temperaturas = _sensorService.GetSensorData(),
                Mensaje      = ""
            };

            return(View(modelo));
        }
示例#2
0
        static public void SendTestRequests(
            IReadOnlyList <int> sensorIds,
            ISensorService sensorService,
            int requestCount,
            int repeatCount,
            TimeSpan maxStepLength,
            RequestReport report)
        {
            var random = new Random();

            for (int i = 0; i < repeatCount; i++)
            {
                List <GetSensorDataParameters> parameters = Enumerable
                                                            .Repeat(0, requestCount)
                                                            .Select(_ => new GetSensorDataParameters {
                    SensorId = sensorIds[random.Next(sensorIds.Count)]
                })
                                                            .ToList();

                // Debug использован для простоты - чтобы не конфигурировать цвета в NLog.config.
                _logger.Debug($"Trying to send {requestCount} requests simultaneously (attempt #{i + 1} of {repeatCount}).");

                report.Start();

                var tasks = parameters
                            .Select(x => Task.Run(() => sensorService.GetSensorData(x)))
                            .ToArray();

                Task.WaitAll(tasks);
                report.StopAndLog(maxStepLength);
            }
        }
示例#3
0
        protected override async Task ExecuteAsync(CancellationToken stoppingToken)
        {
            while (!stoppingToken.IsCancellationRequested)
            {
                Ds18b20Dto ds18b20Dto = new(_sensorService.GetSensorData());
                _logger.LogInformation($"Interior Temperature: {ds18b20Dto.Celsius}C");
                await _temperatureReadingService.AddReadingAsync(ds18b20Dto);

                await Task.Delay(TimeSpan.FromMinutes(5), stoppingToken);
            }
        }