如何解决如何配置Autofac,以便在每次创建新的DbContext时都将其创建?
我是Autofac的新手。我的program.cs
文件中有我的注册信息:
var builder = new ContainerBuilder();
builder.RegisterLogger();
builder.RegisterType<GetUserFactory>().As<IGetUser>();
builder.RegisterType<MyContext>().InstancePerLifetimeScope();
builder.RegisterType<LoginForm>();
builder.RegisterType<RegisterForm>();
builder.RegisterType<MainFormView>().As<IMainFormView>().InstancePerLifetimeScope();
builder.RegisterType<MainFormPresenter>();
builder.RegisterType<TestForm>();
builder.RegisterType<PeopleReport>();
Container = builder.Build();
当我打开MainFormView
时,它第一次正常运行。但是任何第二次尝试打开它或随后的尝试都表明我的MyContext
已处置。
using (var mainFormView = Program.Container.Resolve<IMainFormView>())
{
mainFormView.SetTag(Program.Container.Resolve<MainFormPresenter>());
var form = (MainFormView)mainFormView;
form.ShowDialog();
}
我的问题是我应该如何配置Autofac
,以便为每个MyContext
请求更新我的MainFormView
?
更新:
仔细查看我的错误消息后,我发现被处置的是我的MainFormView
而不是MyContext
而不是 from __future__ import print_function,unicode_literals
from PyInquirer import prompt
from pprint import pprint
questions = [
{
'type': 'input','name': 'first_name','message': 'What\'s your first name',}
]
answers = prompt(questions)
pprint(answers)
。
解决方法
我看到你有:
builder.RegisterType<MyContext>()
.InstancePerLifetimeScope();
^^^^^^^^^^^^^
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。