コード例 #1
0
        protected override async Task ExecuteAsync(CancellationToken stoppingToken)
        {
            myDevice = _deviceConfiguration.GetDeviceConfiguration();

            if (myDevice.tokenValidation.token == "" || myDevice.tokenValidation.expiration < DateTime.UtcNow)
            {
                try
                {
                    await Login();

                    //if id == null  (unregistered device)
                    if (myDevice.Id == "")
                    {
                        await RegisterDevice();
                    }
                    _deviceConfiguration.SaveDeviceConfiguration(myDevice);
                }
                catch (Exception e)
                {
                    _logger.LogInformation($"{e.ToString()}");
                }
            }

            while (!stoppingToken.IsCancellationRequested)
            {
                if (TokenExpired())
                {
                    await Login();
                }
                await PostState();

                await Task.Delay(TimeSpan.FromSeconds(15), stoppingToken);
            }
        }
コード例 #2
0
 private void AttachToken()
 {
     token = _deviceConfiguration.GetDeviceConfiguration().tokenValidation.token;
     httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
 }