在C#中停用和激活Azure Web作业 [英] Deactivate and activate Azure WebJobs in C#

查看:3
本文介绍了在C#中停用和激活Azure Web作业的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个问题,我想在部署新版本时停用AppService的Web作业,并在重新部署后激活它们。

在C#中是否可以这样做?

谢谢你们

推荐答案

据我所知,您不能直接停止触发的Web作业,您需要利用进程资源管理器通过KUDU来终止它。对于连续的Web作业,您可以利用WebJobs API启动/停止Web作业,您需要使用您的Web应用程序的Deployment credentials使用基本身份验证来调用指定的REST API。以下是用于停止Web作业的C#代码片段:

string username = "{username}";
string password = "{password}";
string jobname = "{your-webjob-name}";
string authorization = Convert.ToBase64String(System.Text.UTF8Encoding.UTF8.GetBytes($"{username}:{password}"));
using (var client = new HttpClient())
{
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", authorization);
    var res = await client.PostAsync($"https://{your-webapp-name}.scm.azurewebsites.net/api/continuouswebjobs/{jobname}/stop", null);
    Console.WriteLine($"StatusCode:{res.StatusCode}");
}

注意:此时,名为disable.job的文件将添加到您的Web作业中,如下所示:

要启动Web作业,只需调用/api/continuouswebjobs/{job name}/startdisable.job文件将被删除,您的Web作业将再次运行。

这篇关于在C#中停用和激活Azure Web作业的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆