2017-10-17 2 views
0

auf einer ASP.NET-Core-Startup-Datei den folgend Ich habe:Get Wert von Web-Stamm

public void ConfigureServices(IServiceCollection services) {  
    services.AddMvc(); 
    services.AddPOLocalization(x => x.ResourcesPath = "wwwroot/assets"); 
} 

Wie der Wert für Web-Root definiert bekommen kann statt harten Code es (wwwroot)?

Antwort

0

Es gibt eine IHostingEnvironment.WebRootPath Eigenschaft:

Ruft den absoluten Pfad zu dem Verzeichnis, das die Web-servierbaren Anwendung Inhaltsdateien enthält.

Sie können beispielsweise aus DI-Container erhalten:

private IHostingEnvironment _env; 

public Startup(IConfiguration configuration, IHostingEnvironment env) 
{ 
    // use env.WebRootPath here or variable in private field for future using 
    // (like in ConfigureServices method) 
    _env = env; 
    ... 
} 


public void ConfigureServices(IServiceCollection services) 
{  
    services.AddMvc(); 
    services.AddPOLocalization(x => 
     x.ResourcesPath = System.IO.Path.Combine(_env.WebRootPath, "assets")); 
}