如何通过 C# 从 Azure Webjob 更新 Azure AppSettings?

How to update Azure AppSettings from Azure Webjob by C#?

我在 Azure Web 应用程序中托管了 Azure Web 作业,每小时 运行s,我需要将 Web 作业 运行 时间写为键值对。下次当 Webjob 运行 时,它将选择上次 运行 时间并执行其操作。我正在考虑在 Azure App Service 的 Azure AppSettings 中添加键值对,但我无法修改任何代码来更新 Azure AppSettings 中的值。

谁能告诉我密码?请让我知道这是好方法还是我应该使用 Azure 存储容器来存储最后一批 运行 时间值。

but I am not able to fine any code to update the value in Azure AppSettings.

您可以使用 Microsoft.WindowsAzure.Management.WebSites 来实现它。

var credentials = GetCredentials(/*using certificate*/);
using (var client = new WebSiteManagementClient(credentials))
{
    var currentConfig = await client.WebSites.GetConfigurationAsync(webSpaceName,
                                                                    webSiteName);
    var newConfig = new WebSiteUpdateConfigurationParameters
                    {
                        ConnectionStrings = null,
                        DefaultDocuments = null,
                        HandlerMappings = null,
                        Metadata = null,
                        AppSettings = currentConfig.AppSettings
    };
    newConfig.AppSettings[mySetting] = newValue;
    await client.WebSites.UpdateConfigurationAsync(webSpaceName, webSiteName,
                                                   newConfig);
}

或者使用 Azure Fluent Api,参考这个SO thread