Свойство NServiceBus не вводится

#.net #nservicebus

#.net #nservicebus

Вопрос:

Я запускаю NServiceBus 2.0 и пытаюсь создать службу для получения переадресованных сообщений и переноса их в базу данных (RavenDB). Я признаю, что у меня нет четкого представления о том, как NServiceBus работает с контейнерами IoC (и я раньше не использовал Spring), поэтому, возможно, я делаю что-то неправильно.

В моем классе IWantToRunOnStartup я получаю исключение с нулевой ссылкой, когда я вызываю Store.Инициализировать(). Правильно ли я подключаю этот синглтон? Есть ли что-нибудь, что мне нужно сделать в файлах конфигурации?

Вот код:

 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. Я думаю, вам многим нужно изменить свой элемент хранилища на свойство с get / set. Я не подтвердил это, но контейнер, вероятно, ищет установщик и не может его найти.

Ответ №1:

Вам нужно изменить элемент вашего хранилища на свойство с get / set. Я не подтвердил это, но контейнер, вероятно, ищет установщик и не может его найти (скопировано из комментария, чтобы другие видели его как ответ)