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进行扫描。

posted @ 2019-06-27 15:43  小龙女先生  阅读(354)  评论(0编辑  收藏  举报