當創建控制器1,我想這IService將被映射到ConcreteService1和IPageService到ConcretePageService1如何使用StructureMap將相同的接口映射到不同的ConcreteClass?
並創建控制器2的時候,我想的是IService將被映射到ConcreteService2和IPageService到ConcretePageService2
如何我可以初始化ObjectFactory,以便上面的工作?
平均值,而我initialezed的ObjectFactory這樣:
ObjectFactory.Initialize(x =>
{
x.For<IService>().Use<ConcreteService1>();
x.For<IPageService>().Use<ConcretePageService1>();
});
但這始終映射ConcreteService1到IService和ConcretePageService1到IPageService無論控制器類型的
public class Controller1 : Controller
{
public Controller1(IService service, IPageService pageService)
{
}
}
public class Controller2 : Controller
{
public Controller2(IService service, IPageService pageService)
{
}
}
public interface IService
{
}
public class ConcreteService1:IService
{
}
public class ConcreteService2:IService
{
}
public interface IPageService
{
}
public class ConcretePageService1:IPageService
{
}
public class ConcretePageService2:IPageService
{
}
我讀過它,但我不明白這是如何回答我的問題,或者我錯過了什麼?謝謝 – theateist 2011-02-14 20:02:42
條件是不是去國際海事組織的方式。一項公約更可能是一個持久的解決方案。 – PHeiberg 2011-02-15 20:33:25