问题描述
我是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)
。