Azure Web作业Timmer触发器异常

时间:2016-09-05 14:30:02

标签: azure azure-webjobs

我尝试使用azure-webjobs-sdk-extensions(https://github.com/Azure/azure-webjobs-sdk-extensions)运行触发的azure网络作业

JobHostConfiguration config = new JobHostConfiguration();
config.UseTimers();

JobHost host = new JobHost(config);
host.Call(typeof(Functions).GetMethod("CronJob"));
host.RunAndBlock();

public static void CronJob([TimerTrigger("0 */5 * * * *")] TimerInfo timer)
{
    Console.WriteLine("Cron job fired!");
}

但是我得到了这个例外。

Microsoft.Azure.WebJobs.Host System.ObjectDisposedException

我还尝试从gitbug repo中下载示例项目,但即使使用那些TimerTrigger示例,我也会遇到相同的异常。

有什么想法吗? 感谢

1 个答案:

答案 0 :(得分:1)

  

host.Call(typeof运算(功能).GetMethod( “的cronjob”));

请注意,您应该为CronJob函数提供TimerInfo参数。 CronJob函数由您定义的TimeTrigger自动调用。如果要在致电CronJob之前调用host.RunAndBlock()函数,可以参考以下代码:

host.Call(typeof(Functions).GetMethod("CronJob"),new { timerInfo = new TimerInfo(null, null) });
  

但是我得到了这个异常.Microsoft.Azure.WebJobs.Host System.ObjectDisposedException

根据您的描述,我从您提到的GitHub下载了示例项目,发现相关软件包的版本已经过时了。请按照此tutorial创建Azure WebJob项目并安装Microsoft.Azure.WebJobsMicrosoft.Azure.WebJobs.Extensions的最新版本软件包,然后测试TimeTrigger函数。