Я знаю, что на эту проблему уже обращались ранее, но я не могу заставить ее работать в моем случае. Решение в Visual Studio содержит несколько проектов, включая WepApi-проект (ядро asp.net) и проект библиотеки классов. В проекте библиотеки классов мне нужно получить доступ к некоторой информации в appsettings.json, находящейся в WebApi-проекте. Я пытался следовать различным учебникам, что привело к следующему:
Appsettings.json
{
"LoginSettings": {
"email": "test@test.com",
"password": "12345678"
}
}
Конфигурация моделирования класса (находится в проекте библиотеки классов):
LoginSettings
public class LoginSettings
{
public string Email { get; set; }
public string Password { get; set; }
}
Startup.cs (WebApi-проект):
public void ConfigureServices(IServiceCollection services)
{
var loginSettings = new LoginSettings
{
Email = Configuration["LoginSettings:email"],
Password = Configuration["LoginSettings:password"]
};
services.AddSingleton(loginSettings);
services.AddOptions();
}
Класс, в котором мне нужны настройки
public static class Test
{
private readonly LoginSettings settings;
public static async Task<string> GetTokenAsync()
{
var email = settings.Email;
...
}
}
Я ничего не могу получить от LoginSettings. Кроме того, я попытался сделать тестовый класс нестатичным, чтобы внедрить LoginSettings в конструктор. Но когда я пытаюсь создать экземпляр Test-класса, он запрашивает экземпляр LoginSettings. На самом деле я не чувствую, что тестовый класс нестатичен, так как его единственная цель - вернуть строку в другой класс, и для этого нужны параметры LoginSettings. Что я делаю не так?
Привет.
EDIT
Я сделал класс Test нестатичным. Что я передаю, когда говорю это?