我是 autofac 的新手,在我的项目中使用 .net 5-6,我在不同的模块中构建了我的应用程序,这些模块在应用程序启动时加载(使用 alc)。但我想知道 autofac 是否可以在运行时加载/卸载这些完整的应用程序插件。很像 wordpress 等的设计方式。
你加载一个包含所有插件 dll/文件的 zip 文件并在运行时管理它的信息?包括服务和中间件初始化。
我是 autofac 的新手,在我的项目中使用 .net 5-6,我在不同的模块中构建了我的应用程序,这些模块在应用程序启动时加载(使用 alc)。但我想知道 autofac 是否可以在运行时加载/卸载这些完整的应用程序插件。很像 wordpress 等的设计方式。
你加载一个包含所有插件 dll/文件的 zip 文件并在运行时管理它的信息?包括服务和中间件初始化。
Autofac 不执行程序集加载、插件管理等工作。这取决于您的应用程序代码。如果您将插件管理为 zip 文件或充满程序集的文件夹或其他任何内容,则取决于您的应用程序:
Assembly.Load
或其他任何东西。然后,您可以使用标准 Autofac 界面进行注册。
关键是,Autofac 不是插件框架,它是DI 容器。DI 之外的任何事情都取决于您。即使您正在考虑程序集扫描逻辑,Autofac 也不会加载或定位程序集 - 它只是扫描您已经加载的程序集。