1

我已经NServiceBus.StructureMap从 NuGet 安装了包,并且属性注入不再适用于我的 Sagas。这是我的配置代码(使用通用主机):

public class EndpointConfig : IConfigureThisEndpoint, AsA_Publisher, IWantCustomInitialization
{
    public void Init()
    {
        Configure.With()
            .StructureMapBuilder(ConfigureStructureMap())
            .XmlSerializer();
    }

    private static IContainer ConfigureStructureMap()
    {
        ObjectFactory.Initialize(cfg =>
        {
            cfg.For<IBarcodeReader>().Use<DataMatrixBarcodeReader>();
            cfg.ForSingletonOf<IDocumentStore>().Use(() => InitializeStore());
            cfg.For<IDocumentSession>().Use(x => x.GetInstance<IDocumentStore>().OpenSession());
        });

        return ObjectFactory.Container;
    }

    private static IDocumentStore InitializeStore()
    {
        return new DocumentStore
        {
            Url = "http://localhost:8080/",
            DefaultDatabase = "db"
        }
        .Initialize();
    }
}
4

1 回答 1

3

默认情况下,Setter 注入在 StructureMap 中未启用,因此您需要使用 StructureMap 启用它 Autowire setter

于 2013-05-31T17:28:22.830 回答