【发布时间】:2019-01-29 07:47:42
【问题描述】:
我在 Azure 门户上发布了一个 Continuous 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 完全陌生。请帮忙。
【问题讨论】:
-
相反,您应该使用队列触发器(不是 HTTP)创建 WebJob,并在控制器操作时将下一条消息放入相应的队列中。
-
我没有使用QueueTrigger,我正在使用异步任务来持续运行我的WebJob服务,现在我想通过api调用启动和停止我的WebJob
标签: asp.net azure asp.net-web-api azure-webjobs