从网站或在WebAPI调用时启动/停止连续Azure WebJob

时间:2019-01-29 07:47:43

标签: asp.net azure asp.net-web-api azure-webjobs

我在Azure门户上发布了一个持续WebJob,它执行一些任务。 我想在调用WebAPI时运行此WebJob,并且WebAPI不应该等待响应,它应该在后台运行WebJob。 我已经创建了一个WebAPI并尝试调用我的WebJob,但是它什么也没显示。

WebAPI WebJobController.cs代码:

public class WebJobController : ApiController
{
    public void CallWebJob()
    {
        try 
        { 
            //App Service Publish Profile Credentials 
            string username = "userName"; //userName 
            string password = "userPWD"; //userPWD 

            string URL = "https://"+username+":"+password+"@reportjobprocess.scm.azurewebsites.net/api/continuouswebjobs/ContinuousReportServiceWebJob/run";
            System.Net.WebRequest request = System.Net.WebRequest.Create(URL); 
            request.Method = "GET"; 
            request.ContentLength = 0; 
            request.GetResponseAsync(); 
            Console.WriteLine("OK");  //no response 
        } 
        catch (Exception ex) 
        { 
            Console.WriteLine("Something went wrong: " + ex.Message.ToString()); 
        }
    }
}

我对WebJob和WebAPI完全陌生。请帮忙。

1 个答案:

答案 0 :(得分:1)

您可以使用WebJobs API来启动/停止WebJob。

开始wiki

POST / api / continuouswebjobs / {职位名称} /开始

停止wiki

POST / api / continuouswebjobs / {职位名称} /停止

如果您要调用触发的网络作业,则可以使用this。它不支持停止触发的作业。

如果您还有其他问题,请告诉我。

更新:有关您可以参考this的凭据。