我想使我的体系结构更好,但我不知道如何解决依赖问题。
是)我有的:
类库CoreService中有很多接口IMail
,Ilog
,ISession
在应用程序启动中,我创建了基于IMail
,Ilog
,ISession
的类,并将其传递给CoreService类
具有CoreService实例的基本控制器类(属性CoreService Services {get;}
)
用户插件使用CoreService接口
问题:
每次我需要添加新服务时,都必须编辑应用程序启动CoreService。理想情况下,我只想为IMail(或任何其他服务)创建一个类库,并在web.config或应用程序启动中注册它。
如果有任何建议或链接对我有帮助,我将不胜感激。
感谢所有用户!
最佳答案
看看Ninject and XML configuration Binding。
我认为这涵盖了您要实现的目标的两个部分。这是依赖项注入,并且能够修改配置而无需重新编译。
如果您添加了Ninject(或其他DI容器-例如Unity)无法解决的全新服务,则需要编辑代码。我认为这是不可避免的。
关于c# - ASP.NET MVC和 Controller 服务架构,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7057289/