我想创建一个持续运行的 WebJob,但首先我想尝试在本地运行它以进行调试。我使用Visual Studio 2015,并运行了Azure存储仿真器(我可以在visual studio中运行Azure WebJob的示例)。
当我运行以下内容时,它在 new JobHost()
与。
异常: 值不能为空。参数名称:方法
static void Main()
{
var host = new JobHost();
host.CallAsync(typeof(Functions).GetMethod("GetNextJob"));
// The following code ensures that the WebJob will be running continuously
host.RunAndBlock();
}
[NoAutomaticTriggerAttribute]
public static async Task GetNextJob()
{
while(true)
{
try
{
var log = new Logger();
log.WriteInfo("Getting next job to be run", 0, 0, "Brain");
//Console.WriteLine("Getting new Job and putting to que");
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
await Task.Delay(TimeSpan.FromSeconds(5));
}
}
我甚至可以在本地运行持续运行的作业吗?
Azure WebJobs通常只是控制台应用程序。 您可以在本地运行它,就像调试、测试和运行任何其他控制台应用程序一样。 我建议购买 Azure WebJobs SDK 并通过教程 在 Azure 应用服务中创建 .NET WebJob.