解决方案项目:
所有东西都在组合根中注册,所以MvcWebApp
显然引用容器,在我的例子中它是Autofac,但我认为它不重要。
问题: 在类库中运行时解析服务的正确方法(如果有的话)是什么,而不是在解决方案的任何地方添加对容器的引用,同时仍然能够控制生命周期范围?
答案 0 :(得分:0)
如果服务需要子服务实现
你的问题:是否有可能避免(b)?
如果在运行时延迟解析很重要,则必须执行(c)
我更喜欢(d),但这不是延迟加载。
您希望您的lib自己创建服务,而lib不应该引用您的ioc-container autofac。
因此您必须使用方法createService<T>
和releaseService<T>
lib知道界面
您的factoryClass使用autofac实现factoryInterface。