Sho*_*gdm 7 asp.net-mvc entity-framework nhibernate-mapping fluent-nhibernate
我在不同项目之间IWindsorContainer和之间使用了两种类型的容器来IUnityContainer进行服务和接口绑定.但是我不确定有什么区别?他们有相同的功能吗?如果是,那么在现有的情况下需要开发另一个.或者他们有一些差异?如果是,那是什么?我将使用哪一个目的?我有一个小文件来反对这种混乱,但我没有安静地抓住它.所以,如果你让我知道,那么我将不胜感激.请注意,我在NHibernet这里使用映射.
小智 3
我使用过这两个容器,它们之间的巨大区别是,多年来使用每个容器都是 UnityContainer 由团队管理,并且仍在扩展。Windsor 容器在返回实际错误方面并不是很好。UnityContainer 有很好的文档,并且使用 nuget 或其他存储库管理器安装起来非常简单。
这就是我的意思...如果你看看如何使用他们的代码,https://github.com/castleproject/Windsor/blob/master/docs/README.md,例如温莎就非常混乱。
public void Install(IWindsorContainer container, IConfigurationStore store)
{
container.Register(Classes.FromThisAssembly()
.Where(Component.IsInSameNamespaceAs<King>())
.WithService.DefaultInterfaces()
.LifestyleTransient());
}
Run Code Online (Sandbox Code Playgroud)
如果您查看 Unity,https://github.com/unitycontainer/unity/blob/master/quickstarts/CS/EventBroker/Src/Stoplight/Program.cs,通过将它们注册到不同的位置,会变得更清楚发生了什么方式。使用 Unity,当您陷入困境时,错误代码也会更加清晰。
IUnityContainer container = new UnityContainer()
.AddNewExtension<SimpleEventBrokerExtension>()
.RegisterType<ILogger, TraceLogger>()
.RegisterType<IStoplightTimer, RealTimeTimer>();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
968 次 |
| 最近记录: |