Используя пример pub / sub, мне удалось получить несколько экземпляров одного и того же консольного приложения для чтения всех сообщений, отправленных издателем. Что я сделал, это:
namespace Subscriber1
{
открытый класс EndpointConfig: IConfigureThisEndpoint, AsA_Server
{
}
public class OverrideInputQueue : IWantCustomInitialization
{
public void Init()
{
Configure
.Instance
.Configurer
.ConfigureComponent<MsmqTransport>(NServiceBus.ObjectBuilder.ComponentCallModelEnum.None)
.ConfigureProperty(p => p.InputQueue, Guid.NewGuid());
}
}
}
Как мне настроить приложение wpf, чтобы иметь несколько экземпляров всех уведомлений о прочтении от издателя ??
Использование приведенного выше кода не делает этого для меня, потому что эти строки кода никогда не попадут.
В моем приложении wpf я ссылаюсь на хост NServiceBus, я добавляю это к коду Windows позади:
public Window1()
{
InitializeComponent();
this.Title = App.AppId.ToString();
var bus = NServiceBus.Configure.With()
.DefaultBuilder()
.XmlSerializer()
.MsmqTransport()
.IsTransactional(true)
.PurgeOnStartup(false)
.UnicastBus()
.ImpersonateSender(false)
.LoadMessageHandlers()
.CreateBus()
.Start();
}
и я включил часть "OverrideInputQueue: IWantCustomInitialization" в конфигурацию моей конечной точки.
Но, как я уже сказал, эта часть никогда не получит удар. В результате при запуске двух экземпляров приложения они по очереди выбирают сообщение, отправленное издателем. Я хочу, чтобы оба экземпляра получали ВСЕ сообщения.
Что я пропустил?
/ Йохан