Лучший способ сделать это. Вы можете использовать переменную окружения в своем приложении, но вам необходимо изменить VariableName всякий раз, когда вам нужно отключить обслуживание.
"IIS Express (Staging)": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Staging"
}
}
Посмотрите на приведенный выше код из файлов launchSettings. json. который содержит набор ASPNETCORE_ENVIRONMENT в качестве промежуточного этапа.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseDatabaseErrorPage();
app.UseBrowserLink();
}
else
{
app.UseExceptionHandler("/Home/Maintainance");
}
}
Даже вы могли бы также изменить некоторый контент на вашей странице layout.cs html в соответствии с вашей переменной среды.
<environment names="Development">
<link rel="stylesheet" href="<your-regular-css-files>" />
</environment>
<environment names="Staging,Production">
<link rel="stylesheet" href="<your-maintainance-css-files>" />
</environment>
Но вот одно из ваших требований - чтобы вы могли менять режим обслуживания на задней стороне. В этом сценарии измените значение JSON файла ASPNETCORE_ENVIRONMENT из вашей панели администратора. Я думаю, что это должно работать нормально.