2011-04-12 66 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屬性。我還沒有證實這一點,但容器可能正在尋找一個二傳手,並找不到它(複製從評論,所以其他人看到它作爲回答)