Closed shreesharao closed 6 years ago
We can also use options pattern here like this -
We need to add
<PackageReference Include="microsoft.extensions.configuration" Version="2.1.1" />
<PackageReference Include="microsoft.extensions.configuration.usersecrets" Version="2.1.1" />
<PackageReference Include="microsoft.extensions.dependencyinjection" Version="2.1.1" />
<PackageReference Include="microsoft.extensions.options" Version="2.1.1" />
<PackageReference Include="microsoft.extensions.options.configurationextensions" Version="2.1.1" />
class Program
{
static void Main(string[] args)
{
IConfiguration configuration = new ConfigurationBuilder().AddUserSecrets<UserSecretsOption>().Build();
var serviceProvider = new ServiceCollection().AddScoped<TestService>().Configure<UserSecretsOption>(configuration).BuildServiceProvider();
var testService = serviceProvider.GetService<TestService>();
Console.Read();
}
}
class TestService
{
public TestService(IOptionsSnapshot<UserSecretsOption> optionsSnapshot)
{
SystemConsole.WriteLine(optionsSnapshot.Value.test);
}
}
Step 1 Right click project and hit edit projectName.csproj
Step 2 add
<UserSecretsId>Insert New Guid Here</UserSecretsId>
into csproj under TargetFrameworkStep 3 open command prompt. enter\secrets.json
dotnet user-secrets set YourSecretName "YourSecretContent"
this will create a secrets.json file in: %APPDATA%\microsoft\UserSecrets\Step 5 Add Microsoft.Extensions.Configuration.UserSecrets Nuget package to project
Add
Step6 Use it as
Console.WriteLine(configuration["test"]);