IOptionsWriter 0.0.1

appsettings.json writer

There is a newer version of this package available.
See the version list below for details.
Install-Package IOptionsWriter -Version 0.0.1
dotnet add package IOptionsWriter --version 0.0.1
<PackageReference Include="IOptionsWriter" Version="0.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add IOptionsWriter --version 0.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

IOptionsWriter

Easy way to serialize/deserialize objects to/from an async stream

How to use

Install-Package IOptionsWriter -Version 0.0.1

Using

IServiceCollection.ConfigureWritable(IConfigurationSection section, string settingsFile = "appsettings.json", bool reloadAfterWrite = false)

section - your configuration section

settingsFile - default appsettings.json

reloadAfterWrite - you can enable this option if you have problems detecting file changes or when you add the settings file with false value of reloadOnChange parameter (builder.AddJsonFile(appsettings.json, optional: false, reloadOnChange: false);)

Simple sample

appsettings.json:

{
    "MySettings": {
        "MyOption": "MyValue"
    }
}

Startup.cs:

public void ConfigureServices(IServiceCollection services)
{
    services
        .AddOptions()
        .ConfigureWritable<MyOptions>(Configuration.GetSection(nameof(MySettings)));
}

Controllers/MyController.cs:

[Controller]
public class MyController : Controller {
    private readonly IOptionsWritable<MyOptions> _myOptionsAccessor;

    public TeamsController(IOptionsWritable<MyOptions> myOptionsAccessor) {
        _myOptionsAccessor = myOptionsAccessor;
    }

    [HttpPut]
    public IActionResult SetMyOptionValue(string value) {
        _myOptionsAccessor.Update(options => options.MyOptions = value);
    }
}

IOptionsWriter

Easy way to serialize/deserialize objects to/from an async stream

How to use

Install-Package IOptionsWriter -Version 0.0.1

Using

IServiceCollection.ConfigureWritable(IConfigurationSection section, string settingsFile = "appsettings.json", bool reloadAfterWrite = false)

section - your configuration section

settingsFile - default appsettings.json

reloadAfterWrite - you can enable this option if you have problems detecting file changes or when you add the settings file with false value of reloadOnChange parameter (builder.AddJsonFile(appsettings.json, optional: false, reloadOnChange: false);)

Simple sample

appsettings.json:

{
    "MySettings": {
        "MyOption": "MyValue"
    }
}

Startup.cs:

public void ConfigureServices(IServiceCollection services)
{
    services
        .AddOptions()
        .ConfigureWritable<MyOptions>(Configuration.GetSection(nameof(MySettings)));
}

Controllers/MyController.cs:

[Controller]
public class MyController : Controller {
    private readonly IOptionsWritable<MyOptions> _myOptionsAccessor;

    public TeamsController(IOptionsWritable<MyOptions> myOptionsAccessor) {
        _myOptionsAccessor = myOptionsAccessor;
    }

    [HttpPut]
    public IActionResult SetMyOptionValue(string value) {
        _myOptionsAccessor.Update(options => options.MyOptions = value);
    }
}

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
4.7.0.1 4,090 12/10/2019
4.7.0 132 12/10/2019
0.1.2 1,283 2/5/2019
0.1.1 503 11/23/2018
0.1.0 257 11/23/2018
0.0.3 238 11/23/2018
0.0.2 325 11/22/2018
0.0.1 286 11/13/2018
Show less