在C#中停用和激活Azure Web作业

Deactivate and activate Azure WebJobs in C#(在C#中停用和激活Azure Web作业)
本文介绍了在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作业的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

DispatcherQueue null when trying to update Ui property in ViewModel(尝试更新ViewModel中的Ui属性时DispatcherQueue为空)
Drawing over all windows on multiple monitors(在多个监视器上绘制所有窗口)
Programmatically show the desktop(以编程方式显示桌面)
c# Generic Setlt;Tgt; implementation to access objects by type(按类型访问对象的C#泛型集实现)
InvalidOperationException When using Context Injection in ASP.Net Core(在ASP.NET核心中使用上下文注入时发生InvalidOperationException)
LINQ many-to-many relationship, how to write a correct WHERE clause?(LINQ多对多关系,如何写一个正确的WHERE子句?)