1

在我的应用程序启动中,我有以下代码来注册我的模块。

Conversation.UpdateContainer(builder =>
            {
                builder.RegisterModule<MyModule>();
            });

我正在使用具有以下代码的 InstrumentedLUIS。

   var builder = new ContainerBuilder();

   builder.Register(c => new BotFrameworkApplicationInsightsInstrumentation(CreateBasicSettings()))
            .Keyed<IBotFrameworkInstrumentation>(InstrumentationType.Basic)
            .SingleInstance();

   builder.Register(c => new BotFrameworkApplicationInsightsInstrumentation(CreateSettingsWithCognitiveServices()))
            .Keyed<IBotFrameworkInstrumentation>(InstrumentationType.Cognitive)
            .SingleInstance();

   _container = builder.Build();

由于上面的代码,我的模块寄存器丢失了,并且每次后续调用 bot 时,请求的服务都没有注册,请使用可选的。

由于我不知道最新的Autofac,任何人都可以指导我吗?

4

1 回答 1

0

添加 DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); 在 _container = builder.Build(); 之后 虽然这只是解决您的问题的一步,但我建议您阅读此per-request 生命周期范围

于 2019-07-24T17:28:46.173 回答