1
我想爲我想要在Azure上託管的Web應用程序使用自定義配置。配置應該可以被環境變量覆蓋,以便我可以在Azure門戶上進行更改。ASP.NET 5 JSON與Azure Web應用程序
我試着用下面的代碼,但它不工作 - 細節如下
public Startup(IHostingEnvironment env, IApplicationEnvironment appEnv)
{
var builder = new ConfigurationBuilder()
.AddJsonFile("config.json", optional:true)
.AddEnvironmentVariables();
Configuration = builder.Build();
}
public IConfigurationRoot Configuration { get; set; }
public void ConfigureServices(IServiceCollection services)
{
services.AddOptions();
services.Configure<AppSettings>(Configuration);
}
在控制器中,
public class HomeController : Controller
{
private IOptions<AppSettings> Configuration;
public HomeController(IOptions<AppSettings> configuration)
{
Configuration = configuration;
}
public async Task<IActionResult> Index()
{
string location = Configuration.Value.Location;
...
}
默認config.json
文件看起來像,
{
"AppSettings": {
"Location" : "Singapore"
}
}
在Azure Portal,在應用程序設置下,我已將值賦予AppSettings:Location
美國和我期待美國在控制器中的價值。
在本地,在ConfigureServices
我可以看到新加坡的值,但在控制器操作索引中它是空的。
我在這裏錯過了什麼嗎?
謝謝!不知道我是如何錯過它的! –