Context
我有两个应用程序,一个是我的主要企业应用程序,另一个是托管的hangfire(hangfire服务器,客户端和仪表板) . 我的主应用程序也使用hangfire执行一些长任务并异步执行它们 . 两者都使用相同的DB进行HF存储 . 并且只有一个HF服务器 .
Issue
我间歇性地得到以下错误 -
“无法将状态更改为'处理':找不到目标方法 . ”或“无法将状态更改为'已排队':找不到目标方法 . ”
以下详细信息 -
System.IO.FileNotFoundException无法加载文件或程序集“MyApp.Hangfire,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null”或其依赖项之一 . 该系统找不到指定的文件 .
MyApp.Hangfire 是我的hangfire应用程序执行作业 . 而且我确信它存在,甚至一些成功的工作也证实了这一点 .
请查看附带的屏幕截图以获取更多详细信
Observation
问题不一致,作业并不总是失败,有时会失败,重新排队并通过,有时当它没有重试时甚至会失败 . 如截图所示
1 回答
我需要在这里添加它 .
Solution: 在仪表板Web应用程序中添加了对'MyApp.Hangfire'的引用 .
上下文与您的上下文非常相似或完全相同:
-Hangfire服务器作为Windows服务运行;
-Hangfire仪表板运行在ASP.NET MVC 5应用程序之上;
-jobs实际上正在运行,但仪表板一直显示FileNotFoundException;
@reggieboyYEAH以同样的方式报告并解决了同样的问题 .
详情:https://github.com/HangfireIO/Hangfire/issues/558