2017-10-22 6 views
0

ConfigureServicesのIHostingEnvironmentにAsp.Net Core 1.xではアクセスできましたが、Asp.Net Core 2.0ではアクセスできませんでした。 Startupクラスのコンストラクターに注入しようとしましたが、コンストラクターが呼び出されませんでした。 これはConfigureアクションでインジェクトされましたが、ConfigureServicesの前にこのアクションが呼び出されました。Asp.Net Core 2 ConfigureServicesのIHostingEnvironmentにアクセスするには?

答えて

8

あなたはConfigureServicesIHostingEnvironmentにアクセスしたい場合は、コンストラクタを介してそれを注入し、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 
} 
+0

は何を思いますか?私が見ることができなかったクラスにコンストラクタがありました。 ありがとうございます。 – malballah

関連する問題