假设以下场景:
我有一个视图模型,它应该在特定延迟后自动关闭。
像这样的东西:
public AutoCloseViewModel : ViewModelBase
{
public void Close()
{
/* perform actions necessary to close
the view model and its associated view */
}
protected override OnActivate()
{
// schedule job that calls Close on this instance, something like
var trigger = TriggerBuilder.Create()...;
trigger.Job = new DelegateJob(() => Close()); // <----
scheduler.ScheduleJob(trigger);
}
}
由于以下原因,该行trigger.Job = new DelegateJob(() => Close());
显然不起作用:
- 上不存在任何
Job
属性ITrigger
。 - 作业类应该是可序列化的。
问题:
有没有办法做我想要用 Quartz.net 做的事情,或者我是否试图将它用于它不是为它设计的东西?
顺便说一句:我知道这个问题,但对我来说,接受的答案似乎滥用 Quartz.net,而其他答案对我没有帮助。