public async void Run(IBackgroundTaskInstance taskInstance) { // Ensure our background task remains running taskDeferral = taskInstance.GetDeferral(); // Mutex will be used to ensure only one thread at a time is talking to the shield / isolated storage mutex = new Mutex(false, mutexId); // Initialize ConnectTheDots Settings localSettings.ServicebusNamespace = "YOURSERVICEBUS-ns"; localSettings.EventHubName = "ehdevices"; localSettings.KeyName = "D1"; localSettings.Key = "YOUR_KEY"; localSettings.DisplayName = "YOUR_DEVICE_NAME"; localSettings.Organization = "YOUR_ORGANIZATION_OR_SELF"; localSettings.Location = "YOUR_LOCATION"; SaveSettings(); // Initialize WeatherShield await shield.BeginAsync(); // Create a timer-initiated ThreadPool task to read data from I2C i2cTimer = ThreadPoolTimer.CreatePeriodicTimer(PopulateWeatherData, TimeSpan.FromSeconds(i2cReadIntervalSeconds)); // Start the server server = new HttpServer(port); var asyncAction = ThreadPool.RunAsync((w) => { server.StartServer(weatherData); }); // Task cancellation handler, release our deferral there taskInstance.Canceled += OnCanceled; // Create a timer-initiated ThreadPool task to renew SAS token regularly SASTokenRenewTimer = ThreadPoolTimer.CreatePeriodicTimer(RenewSASToken, TimeSpan.FromMinutes(15)); }
public async void Run(IBackgroundTaskInstance taskInstance) { // Ensure our background task remains running taskDeferral = taskInstance.GetDeferral(); // Mutex will be used to ensure only one thread at a time is talking to the shield / isolated storage mutex = new Mutex(false, mutexId); // Initialize ConnectTheDots Settings localSettings.ServicebusNamespace = "iotbuildlab-ns"; localSettings.EventHubName = "ehdevices"; localSettings.KeyName = "D1"; localSettings.Key = "iQFNbyWTYRBwypMtPmpfJVz+NBgR32YHrQC0ZSvId20="; localSettings.DisplayName = GetHostName(); localSettings.Organization = "IoT Build Lab"; localSettings.Location = "USA"; SaveSettings(); // Initialize WeatherShield await shield.BeginAsync(); // Create a timer-initiated ThreadPool task to read data from I2C i2cTimer = ThreadPoolTimer.CreatePeriodicTimer(PopulateWeatherData, TimeSpan.FromSeconds(i2cReadIntervalSeconds)); // Start the server server = new HttpServer(port); var asyncAction = ThreadPool.RunAsync((w) => { server.StartServer(shield, weatherData); }); // Task cancellation handler, release our deferral there taskInstance.Canceled += OnCanceled; // Create a timer-initiated ThreadPool task to renew SAS token regularly SasTokenRenewTimer = ThreadPoolTimer.CreatePeriodicTimer(RenewSasToken, TimeSpan.FromMinutes(15)); }
public async void Run(IBackgroundTaskInstance taskInstance) { // Ensure our background task remains running taskDeferral = taskInstance.GetDeferral(); // Mutex will be used to ensure only one thread at a time is talking to the shield / isolated storage mutex = new Mutex(false, mutexId); // Initialize ConnectTheDots Settings localSettings.ServicebusNamespace = "windowactuator-ns"; localSettings.EventHubName = "ehdevices"; localSettings.KeyName = "D1"; localSettings.Key = "1uMOwjURpgGX9l5JqnYeatBkIRoLzP7qH8YGFUeAIrU="; localSettings.DisplayName = GetHostName(); localSettings.Organization = "Ulster University"; localSettings.Location = "North Europe"; SaveSettings(); // Initialize WeatherShield await shield.BeginAsync(); // Create a timer-initiated ThreadPool task to read data from I2C i2cTimer = ThreadPoolTimer.CreatePeriodicTimer(PopulateWeatherData, TimeSpan.FromSeconds(i2cReadIntervalSeconds)); // Start the server server = new HttpServer(port); var asyncAction = ThreadPool.RunAsync((w) => { server.StartServer(shield, weatherData); }); // Task cancellation handler, release our deferral there taskInstance.Canceled += OnCanceled; // Create a timer-initiated ThreadPool task to renew SAS token regularly SasTokenRenewTimer = ThreadPoolTimer.CreatePeriodicTimer(RenewSasToken, TimeSpan.FromMinutes(15)); }