我已經跟隨了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