我正在从StructureMap 2.x迁移到3.x。一个主要变化是使用ObjectFactory会导致以下警告:


  'StructureMap.ObjectFactory'已过时:'ObjectFactory
  将在以后的StructureMap 4.0版本中删除。偏爱
  将来使用Container类的方法
  工作'


因此,在大多数情况下,解决方案非常容易:通过IContainer作为构造函数。不幸的是,这对于ASMX Web服务或属性都是不可行的,这两者都需要默认构造函数。这意味着我可能会坚持使用Service Locator Pattern,属性注入或writing my own ObjectFactory implementation

解决此不幸问题的首选方法是什么?

编辑:值得一提的是,我的容器进行了Assembly扫描。

最佳答案

Per Jeremy Miller, himself


  程序集扫描并不便宜,您(几乎?)总是想缓存
  结果。所以,是的,在这种情况下,您将必须编写您的
  自己的ObjectFactory。总有一天,所有糟糕的旧MS技术都会消失。


因此,在这种情况下,应该执行this implementation

10-01 19:32