Autofac 应用于IIS托管的WEB程序,注册程序集被回收的问题

现项目开始全面接入Autofac,但上线了后发现,iis进程被回收后,在访问网页提示找不到注册在Autofac中的类型,或者实例。现在处理办法记录如下:

1. IIS托管的应用程序,在首次加载时,所有程序集会被加载到AppDomain中[但AppDomain会被iis回收,且程序集只在被需要的时候进行加载]

2. 使用System.Web.Compilation.BuildManager上的GetReferencedAssemblies()

var assemblies = BuildManager.GetReferencedAssemblies().Cast();

强制将引用的程序集加载到AppDomain中。方便autofac进行扫描。

你可能感兴趣的:(Autofac 应用于IIS托管的WEB程序,注册程序集被回收的问题)