Сильно типизированные параметры конфигурации не сопоставлены - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь настроить строго типизированный параметр конфигурации в моем приложении ASP.NET Core 2.1.

В моем файле startup.cs у меня есть следующий код:

services.Configure<AzureStorageConfig>(Configuration.GetSection("AzureStorageConfig"));

MyКласс настройки AzureStorageConfig выглядит следующим образом:

public class AzureStorageConfig
{
    public string StorageConnectionString { get; internal set; }
}

Мой appSetting.json:

{
 "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
        "Default": "Debug",
        "System": "Information",
        "Microsoft": "Information"
    }
 },
 "AzureStorageConfig": {
    "StorageConnectionString": "UseDevelopmentStorage=true"
 }
}

Когда я запускаю код, мой AzureStorageConfig.StorageConnectionString всегда равен нулю.

Если я установлю точку останова в файле startup.cs, я увижу, что настройки там есть:

enter image description here

Но когдавпрыскивая AzureStorageConfig, он равен нулю.

public class RestaurantService : IRestaurantService
{
    private AzureStorageConfig m_Config;

    public RestaurantService(IOptions<AzureStorageConfig> config)
    {
        m_Config = config.Value;
    }
}

enter image description here

Я думаю, у меня есть все, как описано здесь: https://weblog.west -wind.com/ сообщений / 2016 / май / 23 / Сильно типизированных конфигурации-Settings-в-ASPNET-Core

1 Ответ

0 голосов
/ 11 октября 2018

Ваше свойство StorageConnectionString имеет установщик internal, но это должно быть public, чтобы связыватель мог использовать его при попытке связать с вашим экземпляром Configuration:

public class AzureStorageConfig
{
    public string StorageConnectionString { get; set; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...