Подтвердить что ты не робот

Доступ к методу IHostingEnvironment в ConfigureServices

Мне нужно проверить метод ConfigureServices, является ли текущее имя хостинга "Development".

Так что использование метода IHostingEnvironment.IsDevelopment() может быть для меня хорошо, но в отличие от метода Configure у меня нет IHostingEnvironment env.

4b9b3361

Ответ 1

просто создайте свойство класса Startup для сохранения IHostingEnvironment. Задайте свойство в конструкторе Startup, в котором у вас уже есть доступ, затем вы можете получить доступ к свойству из ConfigureServices

Ответ 2

Скопировано здесь из вопроса, помеченного как дубликат этого, и удалено. Кредит a-ctor.

Если вы хотите получить доступ к IHostingEnvironment в ConfigureServices вам придется внедрить его через конструктор и сохранить его для последующего доступа в ConfigureServices:

public class Startup
{
    public Startup(IConfiguration configuration, IHostingEnvironment environment)
    {
        Configuration = configuration;
        Environment = environment;
    }

    public IConfiguration Configuration { get; }

    public IHostingEnvironment Environment { get; }

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc();

        System.Console.WriteLine($"app: {environment.ApplicationName}");
    }

    // rest omitted
}