我正在尝试解决我的应用程序中的 AccountController,但似乎我有一个终身范围问题。
builder.Register(c => new MyDataContext(connectionString)).As<IDatabase>().HttpRequestScoped();
builder.Register(c => new UnitOfWork(c.Resolve<IDatabase>())).As<IUnitOfWork>().HttpRequestScoped();
builder.Register(c => new AccountService(c.Resolve<IDatabase>())).As<IAccountService>().InstancePerLifetimeScope();
builder.Register(c => new AccountController(c.Resolve<IAccountService>())).InstancePerDependency();
我需要将 MyDataContext 和 UnitOfWork 限定在 HttpRequestLevel 范围内。当我尝试解析 AccountController 时,出现以下错误:
从请求实例的范围中看不到与表达式 'value(Autofac.Builder.RegistrationBuilder`3+<>c__DisplayClass0[...]).lifetimeScopeTag.Equals(scope.Tag)' 匹配的范围。
我的依赖生命周期设置不正确吗?