我有一些供应商,说 -

<Providers>
    <Provider Type="Providers.IM"  Name="Im"/>
    <Provider Type="Providers.Web" Name="Web"/>
    ...
</Provider> 

每个这些提供商可以给我一个会话:

<Sessions>
    <Session Name="GoogleIM" Provider="Im"  URL="..." />
    <Session Name="YahooIM"  Provider="Im"  URL="..." />
    <Session Name="YahooWeb" Provider="Web" URL="..." />
    ...
</Session>

目前,我实例通过查看提供商,实例化的类型,并注入URL“命名为”会话(手动地)。

我可以使用一个会话工厂,这可能将不得不了解url并返回正确的会话。

有没有办法来处理这更优雅/简单地用ninject / autofac?

有帮助吗?

解决方案

我可能无法正确理解你的设置,但我相信你可以用Ninject处理这种类型的操作很容易地。你想创建一个基本的接口,并把所有的对象都实现这一点。你Ninject绑定将使用上下文来确定你的位置接口类型的要加载的类。我写了使用Ninject的情境结合这里提供一个简短的教程:的 http://frickinsweet.com/ryanlanciaux.com/post/Real-Ultimate-Power--Dependency-Injection-with-Ninject.aspx

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top