ASP.NET CORE 2. Сложные типы, связанные с моделью, не должны быть абстрактными или значениями и должны иметь конструктор без параметров - PullRequest
0 голосов
/ 25 апреля 2018

Я хочу использовать IOptions для получения конфигурации через POCO, но выдает сообщение об ошибке «Сложные типы, связанные с моделью, не должны быть абстрактными или значениями и должны иметь конструктор без параметров»

DatabaseSettings.cs

public class DatabaseSettings
    {
        public string MongoDBServer { get; set; }
    }

appsettings.json

"DatabaseSettings": {
    "MongoDBServer": "localhost"
  },
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Warning"
    }
  }

Startup.cs

public void ConfigureServices(IServiceCollection services)
{
      services.AddMvc();
      services.Configure<DatabaseSettings>(Configuration.GetSection("DatabaseSettings"));
}

Контроллер

public IActionResult Create(IOptions<DatabaseSettings> options)
{
  string test = options.Value.MongoDBServer;
  return View();
}

Я не знаю, как с этим справиться.У вас есть совет для меня?Спасибо!

1 Ответ

0 голосов
/ 12 ноября 2018

У меня была такая же проблема. Я нашел этот ответ полезным.

Пожалуйста, попробуйте добавить [FromServices] к действию контроллера:

public IActionResult Create([FromServices] IOptions<DatabaseSettings> options)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...