我正在从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。