NServiceBus属性不注入

时间:2011-04-12 02:23:25

标签: .net nservicebus

我正在运行NServiceBus 2.0并尝试创建一个服务来接收转发的消息并将它们放入(RavenDB)数据库中。我承认我没有牢牢掌握NServiceBus如何使用IoC容器(我之前也没有使用过Spring),所以我可能做错了。

在我的IWantToRunOnStartup类中,我得到一个空引用异常,我调用Store.Initialize()。我正确挂钩这个单身吗?我需要在配置文件中做些什么吗?

以下是代码:

public class EndpointConfig : IConfigureThisEndpoint, AsA_Server, IWantCustomInitialization
{
    private IMessageRepository _store;

    public void Init()
    {
        _store = new RavenMessageRepository();

        Configure.With()
            .DefaultBuilder()
            .XmlSerializer()
            .UnicastBus();

        Configure.Instance.Configurer.RegisterSingleton<IMessageRepository>(_store);
    }

}

public class StartupConfig : IWantToRunAtStartup
{
    public IMessageRepository Store;

    public void Run()
    {
        Store.Initialize();
    }

    public void Stop()
    {
    }
}

谢谢 -

1 个答案:

答案 0 :(得分:2)

您需要将Store成员更改为具有get / set的属性。我还没有证实这一点,但容器可能正在寻找一个setter而无法找到它(从评论中复制,所以其他人认为它已经回答了)