MakoIoT.Device.Services.Configuration 1.0.75.52359

dotnet add package MakoIoT.Device.Services.Configuration --version 1.0.75.52359
                    
NuGet\Install-Package MakoIoT.Device.Services.Configuration -Version 1.0.75.52359
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MakoIoT.Device.Services.Configuration" Version="1.0.75.52359" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="MakoIoT.Device.Services.Configuration" Version="1.0.75.52359" />
                    
Directory.Packages.props
<PackageReference Include="MakoIoT.Device.Services.Configuration" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add MakoIoT.Device.Services.Configuration --version 1.0.75.52359
                    
#r "nuget: MakoIoT.Device.Services.Configuration, 1.0.75.52359"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=MakoIoT.Device.Services.Configuration&version=1.0.75.52359
                    
Install as a Cake Addin
#tool nuget:?package=MakoIoT.Device.Services.Configuration&version=1.0.75.52359
                    
Install as a Cake Tool

Mako-IoT.Device.Services.Configuration

Provides easy way of reading and updating configuration settings with strongly-typed objects. Settings are stored in persistent storage via IStorageService.

Usage

Create class for your settings. You may use multiple classes, one for every component. Provide section name as static/const string.

public class MyAppConfig
{
    public string ApiUrl { get; set; }
    public string SslCertificate { get; set; }
    public string Timezone { get; set; }
    public static string SectionName => "MyAppConfig";
}

Use IConfigurationService to read and/or update settings.

public class MyAppService : IMyAppService
{
    private readonly MyAppConfig _config;

    public MyAppService(IConfigurationService configService)
    {
        _config = (MyAppService)configService.GetConfigSection(MyAppService.SectionName, typeof(MyAppService));
    }
//[...]
}

Add Configuration and FileStorage components in your device builder. You can specify default settings, which will be written on startup.

public class Program
{
    public static void Main()
    {
        DeviceBuilder.Create()
          .AddConfiguration(c =>
          {
              c.WriteDefault(MyAppConfig.SectionName, new MyAppConfig
              {
                  ApiUrl = "http://my-app.my-company.com/api"
              });
          })
          .AddFileStorage()
          .Build()
          .Start();

        Thread.Sleep(Timeout.InfiniteTimeSpan);
    }
}

Note: setting overwrite = true in the WriteDefault will overwrite settings with the defaults every time (even if settings already exist).

Product Compatible and additional computed target framework versions.
.NET Framework net is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on MakoIoT.Device.Services.Configuration:

Package Downloads
MakoIoT.Device.Services.ConfigurationManager

Configuration mode manager for MAKO-IoT

MakoIoT.Device.Services.ConfigurationApi

REST API for configuration with MAKO-IoT

MakoIoT.Device.Platform.LocalConfig

MAKO-IoT Platform local configuration library. On-device web server, WiFi AP

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.75.52359 482 4/23/2025
1.0.74.27284 435 4/17/2025
1.0.73.61577 386 4/3/2025
1.0.72.2302 260 4/2/2025
1.0.71.26164 582 3/20/2025
1.0.70.61196 340 3/11/2025
1.0.69.15488 262 3/10/2025
1.0.68.40789 463 3/3/2025
1.0.67.38396 348 2/27/2025
1.0.65.14622 522 2/20/2025
1.0.64.18364 373 2/18/2025
1.0.62.51969 493 11/28/2024
1.0.61.54678 250 11/26/2024
1.0.60.53758 195 11/25/2024
1.0.59.12833 401 11/19/2024
1.0.58.59368 410 10/31/2024
1.0.57.55232 605 10/18/2024
1.0.56.46476 262 10/16/2024
1.0.55.40619 364 9/30/2024
1.0.54.20410 285 9/26/2024
1.0.53.22614 390 9/20/2024
1.0.52.61265 467 9/12/2024
1.0.51.5543 359 9/5/2024
1.0.50.16692 369 8/27/2024
1.0.49.30436 485 8/10/2024
1.0.48.44460 280 8/5/2024
1.0.47.11163 751 6/12/2024
1.0.46.22575 1,128 5/18/2024
1.0.45.29329 190 5/17/2024
1.0.44.911 1,296 4/9/2024
1.0.43.25265 256 4/8/2024
1.0.42.31032 448 4/3/2024
1.0.41.11032 475 3/23/2024
1.0.40.13779 346 3/21/2024
1.0.39.3446 2,092 1/6/2024
1.0.38.57711 479 12/30/2023
1.0.37.47513 284 12/30/2023
1.0.36.62303 899 12/2/2023
1.0.35.24200 293 12/1/2023
1.0.34.49211 534 11/17/2023
1.0.33.44373 327 11/16/2023
1.0.32.19851 472 11/12/2023
1.0.31.51806 1,384 10/9/2023
1.0.30.25325 478 10/6/2023
1.0.29.64214 385 10/4/2023
1.0.27.26144 1,101 5/29/2023
1.0.25.42009 522 5/25/2023
1.0.24.48276 367 5/25/2023
1.0.21.23813 175 5/22/2023
1.0.20.48349 383 5/22/2023