Как правильно использовать постоянство с помощью NServiceBus? - PullRequest
0 голосов
/ 10 марта 2020

В документации приведено следующее при настройке персистентности:

// Use NHibernate for all persistence concerns
endpointConfiguration.UsePersistence<NHibernatePersistence>();

ИЛИ

// or select specific concerns   <------- ??????
endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.Sagas>();
endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.Subscriptions>();
endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.Timeouts>();
endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.Outbox>();

Я унаследовал это уведомление о коде, которое включает в себя " UsePersistence<NHibernatePersistence>() "без проблем:

        endpointConfiguration.UsePersistence<NHibernatePersistence>();
        endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.Sagas>();
        endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.Subscriptions>();
        endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.Timeouts>();
        endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.Outbox>();
        endpointConfiguration.UsePersistence<NHibernatePersistence, StorageType.GatewayDeduplication>();

Мой вопрос Можно ли использовать" UsePersistence<NHibernatePersistence>() "так, как его строит наш код? Я не могу показаться чтобы найти окончательный ответ на этот вопрос.

1 Ответ

3 голосов
/ 10 марта 2020

Да, это совершенно нормально. Первая строка:

endpointConfiguration.UsePersistence<NHibernatePersistence>();

устанавливает постоянство для всех типов хранения в NHibernate. Последующие строки переопределяют эту конфигурацию для указанных типов хранения c. Я поместил кавычки вокруг слова «переопределить», потому что оно переопределяет определенные c типы хранения с тем же исходным значением. Другими словами, они перекрывают NHibernate с помощью NHibernate.

В этом примере вам нужна только первая строка, остальные излишни. Тем не менее, приведенный код должен работать просто отлично.

Это полностью объяснено в документации .

...