2010-02-01 55 views
5

以下哪种语法被认为是最佳实践?哪个Structuremap生命周期是最佳实践? (v2.5.4)

For<IMyInterface>().LifecycleIs(new HybridLifecycle()).Use<MyImplementation>(); 

For<IMyInterface>().LifecycleIs(Lifecycles.GetLifecycle(InstanceScope.Hybrid)).Use<MyImplementation>(); 

,如果第一个是正确的,我可以创建一个对象HybridLifecycle,并将其用于多为< ...>语句,或者是否有必要对每一个<>创建一个新的HybridLifecycle?

回答

4

使用配置助手可能是最佳做法。

For<IMyInterface>().HybridHttpOrThreadLocalScoped().Use<MyImplementation>() 
+1

不是全部范围是作为帮手,只有HYbridHttpOrThreadLocalScoped和HttpContextScoped .. – rekna 2010-02-02 07:42:06

+0

我相信他们是哪些是你没有找到? Singleton(),AlwaysUnique()也可用。我认为Jeremy可能会试图将人们转移到HTTP的混合方法和类型的线程范围。 – KevM 2010-02-02 13:58:20