2011-04-12 64 views
0

我正在运行NServiceBus 2.0并尝试创建一个服务来接收转发的消息并将它们放入(RavenDB)数据库中。我承认对于NServiceBus如何与IoC容器一起工作(我之前也没有使用Spring)我没有一个明确的把握,所以我可能做错了什么。NServiceBus属性不注入

在我的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() 
    { 
    } 
} 

Thanks-

+1

我想你很多需要改变你的店员到一个属性与获取/套。我还没有证实这一点,但容器可能正在寻找一个setter并找不到它。 – 2011-04-12 12:34:13

+0

这样做!非常感谢。 – 2011-04-12 13:33:34

回答

2

您必须对您的商品成员变成带的get/set属性。我还没有证实这一点,但容器可能正在寻找一个二传手,并找不到它(复制从评论,所以其他人看到它作为回答)