我正在尝试使用触发器运行Azure webjob,但我的timerjob方法没有触发。我收到了消息。
找不到工作职能。尝试公开您的工作类和方法。如果您正在使用绑定扩展(例如ServiceBus,Timers等),请确保您已在启动代码中调用扩展的注册方法(例如config.UseServiceBus(),config.UseTimers ()等。)。
我正在使用config.UseTimers()但仍显示该消息。不确定以下代码有什么问题
static void Main()
{
JobHostConfiguration config = new JobHostConfiguration();
config.UseTimers();
var host = new JobHost(config);
host.RunAndBlock();
}
public static void TimerTrig([TimerTrigger("0 */1 * * * *", RunOnStartup = true)] TimerInfo timer)
{
Console.WriteLine("Triggered");
}
我正在使用Microsoft.Azure.WebJobs和Microsoft.Azure.WebJobs.Host v2.2.0;
答案 0 :(得分:1)
根据您的描述,您的项目中似乎没有Function.cs文件。您可以在项目中添加 Functions.cs 文件,并在其中添加TimeTrig函数。
我们也可以用VS创建带Webjob模板的WebJob。您可以参考以下详细步骤。
1.使用webjob模板创建Webjob。
2.安装Microsoft.Azure.WebJobs.Extensions
3.在programm.cs
中添加以下代码 var config = new JobHostConfiguration();
config.UseTimers(); //add this code.
if (config.IsDevelopment)
{
config.UseDevelopmentSettings();
}
var host = new JobHost(config);
// The following code ensures that the WebJob will be running continuously
host.RunAndBlock();
4.在Functions.cs文件中添加时间triger代码。
public static void TimerTrig([TimerTrigger("0 */1 * * * *", RunOnStartup = true)] TimerInfo timer)
{
Console.WriteLine("Triggered");
}
注意:请在app.config中设置 AzureWebJobsDashboard 和 AzureWebJobsStorage 连接字符串,以便运行此WebJob: