#.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. Я не подтвердил это, но контейнер, вероятно, ищет установщик и не может его найти (скопировано из комментария, чтобы другие видели его как ответ)