[英]Autofac configuration for hangfire
我想在我的 Asp.Net MVC 应用程序中使用 hangfire,我使用 Autofac 作为 DI。
我已经安装了 Hangfire.Autofac nuget
我想添加一个这样的循环工作:
public class UserService : IUserService { public void MyRecurringJob() { // do something here } }
Unable to resolve the type 'MyApp.Core.Service.UserService' because the lifetime scope it belongs in can't be located. The following services are exposed by this registration: - MyApp.Core.Service.UserService Details
Autofac.Core.DependencyResolutionException: Unable to resolve the type 'MyApp.Core.Service.UserService' because the lifetime scope it belongs in can't be located. The following services are exposed by this registration:
- MyApp.Core.Service.UserService
Details ---> Autofac.Core.DependencyResolutionException: No scope with a tag matching 'AutofacWebRequest' is visible from the scope in which the instance was requested.
If you see this during execution of a web application, it generally indicates that a component registered as per-HTTP request is being requested by a SingleInstance() component (or a similar scenario). Under the web integration always request dependencies from the dependency resolver or the request lifetime scope, never from the container itself.
我得到这个错误:
Unable to resolve the type 'MyApp.Core.Service.UserService' because the lifetime scope it belongs in can't be located. The following services are exposed by this registration: - MyApp.Core.Service.UserService Details Autofac.Core.DependencyResolutionException: Unable to resolve the type 'MyApp.Core.Service.UserService' because the lifetime scope it belongs in can't be located. The following services are exposed by this registration: - MyApp.Core.Service.UserService Details ---> Autofac.Core.DependencyResolutionException: No scope with a tag matching 'AutofacWebRequest' is visible from the scope in which the instance was requested. If you see this during execution of a web application, it generally indicates that a component registered as per-HTTP request is being requested by a SingleInstance() component (or a similar scenario). Under the web integration always request dependencies from the dependency resolver or the request lifetime scope, never from the container itself.
我现在无法对其进行测试,但是为了在 Hangfire 和 Autofac 中注册重复性工作,您应该编写
RecurringJob.AddOrUpdate<UserService>("SyncUsers", (user) => user.MyRecurringJob(), Cron.Hourly());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.