使用门户更改Azure应用程序设置而不重新启动

spo*_*rts 9 appsettings azure azure-web-sites

我有时会这样:

在Azure门户中,我转到"App Services",然后单击我的Web应用程序,然后转到"应用程序设置".

在这里,我从"应用程序设置"列表中更改了一个值:

Azure门户中的应用程序设置

例如.我将"128"更改为"129"

最后我点击"保存".

这会导致我的Web应用程序重新启动.我不希望这样.

问题:有没有办法在不重启的情况下手动更改此值?如果没有,我应该以另一种方式存储这个值吗?也许在web.config中使用一个我可以每次上传的新部分?

如果我使用新的部分,例如:

<moreAppSettings configSource="moreSettings.config">
</moreAppSettings>
Run Code Online (Sandbox Code Playgroud)

这个moreSettings.config是这样的:

<?xml version="1.0" encoding="utf-8"?>
<moreSettings>
   <add key="ClientAppBuild" value="129" />
</moreSettings>
Run Code Online (Sandbox Code Playgroud)

我可以上传并覆盖该单个.config文件而无需重启吗?

evi*_*obu 2

如果您想要的只是一个可以在运行时修改的键值存储,为什么不使用专门为此设计的东西,例如表存储Redis 缓存

如果您只是尝试存储内部版本号,只需VERSION在项目中部署一个静态文件(不受源代码控制跟踪),并在构建时增加内部版本号。您需要将此文件保留在 之外wwwroot(并在 之下d:\home\site\somethingElse),这样下次部署就不会清理它。

如果您将源代码控制连接到 Kudu 进行持续集成,您可以通过调用 Kudu 来获取当前/活动提交 ID(如果不回滚,它也代表您最新构建的提交)和其他一些有趣的事情/api/deployments

http类似于curl但不同

$ http https://SiteUsername:SitePassword@sitename.scm.azurewebsites.net/api/deployments

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
...
Run Code Online (Sandbox Code Playgroud)
$ http https://SiteUsername:SitePassword@sitename.scm.azurewebsites.net/api/deployments

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
...
Run Code Online (Sandbox Code Playgroud)

有关该 API 的更多信息,请参见此处 - https://github.com/projectkudu/kudu/wiki/REST-API#deployment

这比人为的内部版本号更有意义。您可以安全地将站点级凭据存储为应用程序设置并构建/api/deploymentsURL,而无需硬编码机密。