我尝试使用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示例,我也会遇到相同的异常。
有什么想法吗? 感谢
答案 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.WebJobs和Microsoft.Azure.WebJobs.Extensions的最新版本软件包,然后测试TimeTrigger
函数。