0

我们有两个应用服务:

  • RESTService(Azure 应用服务 Web 应用 -> ASP.NET)

  • WebApplication(Azure App Service Web App -> Angular.JS SPA)

RESTService 有一个 web.config,WebApplication 有一个 appconfig.json 作为它们的配置文件。

在每个应用服务上,我们都有一个暂存槽,我们希望在其中进行一些测试(自动和手动)。出于这个原因,我们需要为 web.config 和 appconfig.json 文件设置粘滞槽。使用来自门户的粘滞槽设置,我认为这是不可能的(我认为这些设置仅适用于 web.config 中的 appsettings-configurations)。

最好的方法是什么?

我想到了类似的事情: - 在我的发布配置中,我将 web 应用程序部署到暂存槽,然后在 web.config 和 appjson.config 中进行修改(调整暂存环境的设置)任务(power-shell 或类似的东西)...然后我可以进行自动测试,如果它们成功,我会撤消配置文件中的更改并切换到生产环境。但是,如果我想做一些手动测试并在门户中进行交换呢?比我必须自己撤消更改...

是否有类似交换前工作的东西,可以在交换之前触发?

谢谢你的帮助,

彼得

4

1 回答 1

0

据我所知,如果您只将设置存储在 web.config 中,则很容易做到这一点。您只需要在 Azure 门户中选择“插槽设置”。如果你想在交换之前做一些交换工作,我建议你使用Microsoft.WindowsAzure.Management.WebSites,以下是交换槽的代码。

var cert = new X509Certificate2();
cert.Import(Convert.FromBase64String("MIIDBjCCAe6gAwIBAgIQbaFn9SASQoFHELar....."));
var _client = new Microsoft.WindowsAzure.Management.WebSites.WebSiteManagementClient(new Microsoft.WindowsAzure.CertificateCloudCredentials("***", cert));
//do somethings.....
client.WebSites.SwapSlots("<web space>", "<website name>", "<source slot name>", "<target slot name>");
于 2016-09-26T07:11:19.240 回答