Asp.net core 在HangFire中运行存储过程
我正试图在Hangfire中执行一个存储过程。下面是代码Asp.net core 在HangFire中运行存储过程,asp.net-core,hangfire,Asp.net Core,Hangfire,我正试图在Hangfire中执行一个存储过程。下面是代码 [HttpGet] [Route("UpdateActivityStatus")] [AutomaticRetry(Attempts = 0)] public IActionResult UpdateStatus() { BackgroundJob.Enqueue(() => _context.Database.ExecuteSqlCommand("db
[HttpGet]
[Route("UpdateActivityStatus")]
[AutomaticRetry(Attempts = 0)]
public IActionResult UpdateStatus()
{
BackgroundJob.Enqueue(() =>
_context.Database.ExecuteSqlCommand("dbo.UpdateStatus")
);
return Ok();
}
但我在仪表板上看到了以下异常
System.ArgumentNullException:值不能为null。参数名称:上下文
我可以理解数据库上下文没有被传递到那里。但我不知道如何解决这个问题
感谢查阅以下文档中的参考资料 参考文献 参考文献 配置后,您将能够使用
排队
重载,以便在调用作业时解析上下文
比如说
[HttpGet]
[Route("UpdateActivityStatus")]
[AutomaticRetry(Attempts = 0)]
public IActionResult UpdateStatus() {
BackgroundJob.Enqueue<MyDbContext>(context =>
context.Database.ExecuteSqlCommand("dbo.UpdateStatus")
);
return Ok();
}
[HttpGet]
[路由(“更新活动状态”)]
[自动重试(尝试次数=0)]
公共IActionResult UpdateStatus(){
BackgroundJob.Enqueue(上下文=>
context.Database.ExecuteSqlCommand(“dbo.UpdateStatus”)
);
返回Ok();
}
查看文档中的以下参考资料
参考文献
参考文献
配置后,您将能够使用排队
重载,以便在调用作业时解析上下文
比如说
[HttpGet]
[Route("UpdateActivityStatus")]
[AutomaticRetry(Attempts = 0)]
public IActionResult UpdateStatus() {
BackgroundJob.Enqueue<MyDbContext>(context =>
context.Database.ExecuteSqlCommand("dbo.UpdateStatus")
);
return Ok();
}
[HttpGet]
[路由(“更新活动状态”)]
[自动重试(尝试次数=0)]
公共IActionResult UpdateStatus(){
BackgroundJob.Enqueue(上下文=>
context.Database.ExecuteSqlCommand(“dbo.UpdateStatus”)
);
返回Ok();
}
让hangfire在调用作业时解析上下文。感谢您回复@Nkosi。您有任何示例代码吗?让hangfire在调用作业时解析上下文。感谢您回复@Nkosi。您有任何示例代码吗?谢谢您的帮助@Nkosi。你有什么例子吗?谢谢你的帮助@Nkosi。你有什么例子吗?