【发布时间】:2017-06-30 17:48:50
【问题描述】:
我是 Azure WebJobs 开发的新手,我正在尝试在 Visual Studio 中测试我的 WebJob。我的作业连续运行,但不执行 runWebJob() 方法?我在 host.CallAsync 行中指定的。这是我的代码:
public class Program {
static void Main()
{
var config = new JobHostConfiguration();
if (config.IsDevelopment)
{
config.UseDevelopmentSettings();
}
var host = new JobHost(config);
host.CallAsync(typeof(Program).GetMethod("runWebJob"));
// The following code ensures that the WebJob will be running continuously
host.RunAndBlock();
}
[NoAutomaticTrigger]
public static async Task runWebJob()
{
Console.WriteLine("RUNNING METHOD");
}
}
【问题讨论】:
-
当您尝试运行此应用程序时,控制台输出是什么?
-
完全没有输出。它到达 host.CallAsync 没有问题,但什么也没做......
-
当它运行 Microsoft.Azure.WebJobs.JobHost.CallAsync Id = 8,状态 = WaitingForActivation,方法 =“{null}”,结果 =“{尚未计算} "
-
尝试将 .Wait() 添加到 CallAsync() 方法的末尾。它无论如何都应该运行,但它是一个异步调用,您需要明确说明您期望它何时完成。
-
@MCooper 你的函数不是异步的,它会同步运行,因为它缺少 await 关键字。
标签: c# .net azure azure-webjobs