在运行时配置NancyFx依赖注入
本文关键字:依赖 注入 NancyFx 配置 运行时 | 更新日期: 2023-09-27 18:10:46
我正在做一个附带项目,涉及一个小型自托管Nancy服务器,用于本地网络远程控制媒体播放器。为了支持多人游戏,我执行了一个简单的插件机制,如下所示:http://code.msdn.microsoft.com/windowsdesktop/Creating-a-simple-plugin-b6174b62
动态加载和执行效果很好,但我遇到的问题是如何告诉TinyIoC使用哪个插件实现。目前,我有一个名为plugins的子目录,其中存储.dll,在启动时,TinyIoC发现该目录中的一个测试dll,并在没有我明确选择任何内容的情况下连接依赖项。
我找到了Bootstrapper方法。ConfigureApplicationContainer是做DI配置的地方,但因为我想使用一个动态系统,没有服务器项目对所有插件程序集的引用,这在我的情况下是不够的。
这甚至可能与TinyIoC或我需要寻找另一个IoC容器?
Thanks lot in advance
不确定这是否适合您的需要,但这是建议:您可以让每个插件做自己的容器配置,通过让每个插件在plugins .dll中提供IRegistrations
的实现。
Nancy将自动选择IRegistrations
的实现-只要在启动时加载程序集-并在应用程序启动时执行它们。
或者你可以在Bootstrapper.ConfigureApplicationContainer
方法中扫描自己的插件目录,并扫描插件的.dll以查找IRegistrations
或你自己的自定义钩子。