C# Quartz.NET在方法中存在特定代码时不触发
我正在尝试将Quartz.NET设置为Azure worker角色,以安排每日事件。经过多次尝试和错误,我发现在目标方法中包含一行代码会导致事件根本不会被触发 在构建的基础上,我有一个IJob类,它是被重写的Execute方法(通过调度器和触发器注册) 删除有问题的行(注释)后,我可以点击Trace.WriteLine语句上的断点。有了它,断点将永远不会被命中,输出也不会出现在其他地方 守则:C# Quartz.NET在方法中存在特定代码时不触发,c#,azure,quartz.net,azure-worker-roles,C#,Azure,Quartz.net,Azure Worker Roles,我正在尝试将Quartz.NET设置为Azure worker角色,以安排每日事件。经过多次尝试和错误,我发现在目标方法中包含一行代码会导致事件根本不会被触发 在构建的基础上,我有一个IJob类,它是被重写的Execute方法(通过调度器和触发器注册) 删除有问题的行(注释)后,我可以点击Trace.WriteLine语句上的断点。有了它,断点将永远不会被命中,输出也不会出现在其他地方 守则: public class MyUpdaterJob : IJob { public MyUpd
public class MyUpdaterJob : IJob
{
public MyUpdaterJob()
{
}
public void Execute(JobExecutionContext context)
{
Trace.WriteLine("-- Yay - Job called");
// Removing this line will result in the breakpoint above being able to be hit
MyUpdateWorker updateWorker = new MyUpdateWorker();
var logDate = context.FireTimeUtc.Value.AddHours(-1);
// [...]
}
}
我完全不知道它可能会评估什么导致它不会触发这一事件。有什么建议吗
- “MyUpdateWorker”在另一个库中
- 这当前作为Azure工作角色运行
只需要检查几件事(今天早上只喝了两杯咖啡,所以我还在热身)我想我应该检查一下MyUpdateWorker()类的构造函数,看看是否一切正常,也许在诊断日志中有一个日志,看看是否可以在其中找到一些指示原因的东西。通常我会看到Azure上缺少库的问题,因此可能缺少依赖项
只需要检查几件事(今天早上只喝了两杯咖啡,所以我还在热身)哇-这真是一件奇怪的事 由于这个项目的“有机”增长,包含IJob实现的库以前是一个控制台应用程序,几周前我将输出切换到“类库” 平台目标被设置为(只有可用的)x86。其他所有东西都编译为“任意CPU”,可能是64位
我记得我必须手动编辑.csproj文件来更新它,但是一旦以前的控制台项目now库被设置为任何CPU,它现在就可以正确触发了 哇-这真是个怪事 由于这个项目的“有机”增长,包含IJob实现的库以前是一个控制台应用程序,几周前我将输出切换到“类库” 平台目标被设置为(只有可用的)x86。其他所有东西都编译为“任意CPU”,可能是64位 我记得我必须手动编辑.csproj文件来更新它,但是一旦以前的控制台项目now库被设置为任何CPU,它现在就可以正确触发了