C# 如何使用ABP在我的所有暂时依赖中拥有PerWebRequest生活方式?

C# 如何使用ABP在我的所有暂时依赖中拥有PerWebRequest生活方式?,c#,castle-windsor,aspnetboilerplate,.net-4.6.1,C#,Castle Windsor,Aspnetboilerplate,.net 4.6.1,在使用ABP4.8.1的.NETFramework 4.6.1应用程序中,我们面临性能方面的问题。检测到的问题与持续使用具有瞬态依赖关系的依赖关系注入器解析程序有关 我们试图用温莎城堡将“生活方式”从短暂转变为PerWebRequest (这是ABP使用的默认软件包)但如果我们这样做,我们会不断得到此异常: 看起来您忘记注册http模块Castle.MicroKernel.Lifestyle.PerWebRequestLifestyleModule“ 当然,我们添加了必要的行,如中所述: 当我们

在使用ABP4.8.1的.NETFramework 4.6.1应用程序中,我们面临性能方面的问题。检测到的问题与持续使用具有瞬态依赖关系的依赖关系注入器解析程序有关

我们试图用温莎城堡将“生活方式”从短暂转变为PerWebRequest (这是ABP使用的默认软件包)但如果我们这样做,我们会不断得到此异常:

看起来您忘记注册http模块Castle.MicroKernel.Lifestyle.PerWebRequestLifestyleModule“

当然,我们添加了必要的行,如中所述:

当我们尝试这样的概念验证时,引发了异常:

public class MyModule : AbpModule
{
        public override void PreInitialize()
        {
            Database.SetInitializer(new CreateDatabaseIfNotExists<MyDbContext>());
            Configuration.DefaultNameOrConnectionString = "Default";
        }

        public override void Initialize()
        {
            IocManager.IocContainer.Register(
                Component
                    .For<MyDbContext>()
                    .LifestylePerWebRequest()
                );
            IocManager.RegisterAssemblyByConvention(Assembly.GetExecutingAssembly());
        }
}
公共类MyModule:AbpModule
{
公共覆盖无效预初始化()
{
SetInitializer(新的CreateDatabaseIfNotExists());
Configuration.DefaultNameOrConnectionString=“Default”;
}
公共覆盖无效初始化()
{
IocManager.IocContainer.Register(
组成部分
.对于()
.LifestylePerWebRequest()
);
IocManager.RegisterAssemblyByConvention(Assembly.getExecutionGassembly());
}
}

我试图找到一些其他可能的解决方案,但它们都与.NETCore相关(它们使用“作用域”而不是这个)。在使用ABP时,有没有办法为我们所有的依赖项实现这种生活方式?

尝试使用
LifestylePerWebRequest
注册您的类型,如图所示

并将此注册器添加到模块的预初始化中,如下所示

您在ASP.NET MVC 5上吗?是的@aaron我在使用MVC 5。