我目前正在使用一个库(SuperWebSocket),它是一个 websocket 服务器库,它使用一个引导程序,它知道从配置文件中加载哪些实例。我已经为此实现了一个引导类(但是没有使用 IoC 加载实例)。来自该服务器的命令也是从程序集反射加载的。我想将此服务器与使用 IoC 的 DAL 和服务层结合使用。我的主要问题是我无法找到一种方法将这个控制台应用程序(服务器)和与 lib 的合作放在 IoC 场景中,而不必最终使用 ServiceLocator。
通常内核(Ninject)应该位于组合根(看起来是许多周围的最佳实践..),在这种情况下这是不可能做到的,或者至少我没有找到为什么我在这里。这些命令也是从程序集反射加载的。我可以实现一个 CommandLoader 但这仍然是一个问题,因为它们都继承自同一个接口(可能是多重绑定?)。我可以为它们中的每一个制作自定义界面,但我仍然找不到自动加载它们的方法。即使我找到了加载它们的方法,我仍然必须能够从不容易做到的属性中获取服务。
有什么建议么 ?