Как я могу изменить данные запуска в ядре asp.net во время выполнения? - PullRequest
0 голосов
/ 28 июня 2018

У меня есть код для настройки идентичности в автозагрузке проекта, например:

services.Configure<IdentityOptions>(options =>
{
    // Password settings
    options.Password.RequiredDigit = SystemSetting.RequiredDigit;
    options.Password.RequiredLength = SystemSetting.RequireLength;
    options.Password.RequireNonAlphanumeric = SystemSetting.RNA;
    options.Password.RequireUppercase = SystemSetting.RequireUppercase;
    options.Password.RequireLowercase = SystemSetting.RequireLowercase;
    options.Password.RequiredUniqueChars = SystemSetting.RequireUniqueChars;

    // Lockout settings
    options.Lockout.DefaultLockoutTimeSpan = TimeSpan.FromMinutes(30);
    options.Lockout.MaxFailedAccessAttempts = SystemSetting.MaxFaildAccessAttempts;
    options.Lockout.AllowedForNewUsers = SystemSetting.AllowedForNewUsers;

    // User settings
    options.User.RequireUniqueEmail = SystemSetting.RequireUniqueEmail;
});

И класс SystemSetting имеет это статическое свойство:

public class SystemSetting
{
    public static bool RequireDigit {get; set;};
    public static bool RequireLength {get; set;};
    public static bool RNA {get; set;};
    public static bool RequireUppercase {get; set;};
    public static bool RequireLowercase {get; set;};
    public static bool RequireUniqueChars {get; set;};
    public static bool MaxFaildAccessAttempts {get; set;};
    public static bool AllowedForNewUsers {get; set;};
    public static bool RequireUniqueEmail {get; set;};
}

И это свойство установлено везде в проекте;

С помощью этого кода вы можете передавать динамические данные в опциях идентификации. и я создаю Системный параметр, который, если ApplicationManager хочет изменить эти данные по умолчанию, он может.

сейчас! как вы знаете, когда приложение запускается, запуск запускается только один раз навсегда. Как я могу изменить эти данные ?? [в RunTime] или как я могу передать данные в автозагрузку ?? [в RunTime]

1 Ответ

0 голосов
/ 28 июня 2018

Ну, методы запуска запускаются только один раз, но если вы действительно хотите сделать это при запуске, вы можете создать службу, которая предоставляет объекту параметров обновленные значения, зарегистрировать службу в методе ConfigureServices и использовать ее везде, где вам нужно. опции. Служба будет доступна в приложении и в методе настройки и будет решена путем внедрения зависимости. Или же вы можете использовать инъекционные рамки для достижения того же (например, Ninject, Autofac и т. Д.).

ConfigureServices документация

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...