Autofac 应用于IIS托管的WEB程序,注册程序集被回收的问题
现项目开始全面接入Autofac,但上线了后发现,iis进程被回收后,在访问网页提示找不到注册在Autofac中的类型,或者实例。现在处理办法记录如下:
1. IIS托管的应用程序,在首次加载时,所有程序集会被加载到AppDomain中[但AppDomain会被iis回收,且程序集只在被需要的时候进行加载]
2. 使用System.Web.Compilation.BuildManager上的GetReferencedAssemblies()
var assemblies = BuildManager.GetReferencedAssemblies().Cast<Assembly>();
强制将引用的程序集加载到AppDomain中。方便autofac进行扫描。
1. 随笔为作者自己经验以及学习的总结;
2. 如本文对您有帮助请移步右下角,推荐本文,先谢谢各位看官,因为您的支持是我最大动力;
3. 欢迎大家转载本文;
2. 如本文对您有帮助请移步右下角,推荐本文,先谢谢各位看官,因为您的支持是我最大动力;
3. 欢迎大家转载本文;