我已经跟随了msmq的发布/订阅演示,并且在发布者在订阅者之前启动时丢失了消息。 msmq已经被创建。Rebus MSMQ似乎失去了消息
在一个控制台应用程序,我的出版商代码
_activator = new BuiltinHandlerActivator();
Configure.With(_activator)
.Transport(t => t.UseMsmq("PaymentsToTake"))
.Subscriptions(s => s.StoreInMemory())
.Start();
/* In the timer code */
MyDateMessage m = new MyDateMessage()
{
NowTime = DateTime.Now,
Counter = _index
};
_activator.Bus.Publish(m).Wait();
_index++;
我的用户代码在另一个控制台应用程序
_activator = new BuiltinHandlerActivator();
_activator.Register(() => new PrintDateTime());
Configure.With(_activator)
.Transport(t => t.UseMsmq("PaymentsToTake-Receiver1"))
.Routing(r => r.TypeBased().Map<MyDateMessage>("PaymentsToTake"))
.Start();
_activator.Bus.Subscribe<MyDateMessage>().Wait();
结果 当我运行的用户,我得到的消息发送MyDateMessage - >然后当我运行消费者时,出现的第一条消息是“ 53时间是“因此0-52消息丢失了!
嗨闪存,我已经回答了你的问题 - 你可以尝试,看看它是否修复你的问题?如果是这样,请将问题标记为已回答(如果不是,请告诉我,所以我可以帮助您:)) – mookid8000