Autofac 自动注册, 程序池回收后注册类型丢失?

Midnight 发布于 2013/05/28 10:04
阅读 1K+
收藏 0

自动注册后发现一个严重的问题, 程序池回收后注册类型就丢失了.

// Autofac 初始化
 var baseType = typeof(IDependency);
 var assemblys = AppDomain.CurrentDomain.GetAssemblies().AsParallel().ToList();
 var builder = new ContainerBuilder();

 builder.RegisterAssemblyTypes(assemblys.ToArray())
        .Where(c => baseType.IsAssignableFrom(c) && c != baseType)
        .AsImplementedInterfaces()
        .InstancePerHttpRequest()
        .PreserveExistingDefaults();

加载中
0
Midnight
Midnight
没.NET的人么?
0
Bendon
Bendon

之前我说过,你的程序中

var assemblys = AppDomain.CurrentDomain.GetAssemblies().ToList();

必须改成:

var assemblys = System.Web.Compilation.BuildManager.GetReferencedAssemblies().Cast<Assembly>().ToList();

就可以了!!!

这个问题也困扰了我很久,希望能帮助到大家!

Midnight
Midnight
你是不是在博客园复制过来的?
返回顶部
顶部