我調查NServiceBus,而且我不確定我如何(或者即使)可以用它來處理這種情況:NServiceBus分銷商能否從工人報告進度?
我有多個客戶端發送的工作請求,該經銷商從農場工人。這項工作需要很長時間才能完成,我希望工作人員向發送原始請求的客戶報告進度。
我已經看過全雙工樣品和how to add the distributor to that sample。我有這些工作,但是當我修改它們以回覆一系列進度消息(消息之間存在延遲,如下所示的代碼)時,客戶端會同時收到所有進度消息。
public class RequestDataMessageHandler : IHandleMessages<RequestDataMessage>
{
public IBus Bus { get; set; }
public void Handle(RequestDataMessage message)
{
for (var i = 0; i < 10; i++)
{
var count = i;
var response = this.Bus.CreateInstance<DataResponseMessage>(m =>
{
m.DataId = message.DataId;
m.Progress = count * 10;
});
this.Bus.Reply(response);
Thread.Sleep(1000);
}
}
}
我懷疑我還沒有理解NServiceBus的工作原理。有人可以解釋我出錯的地方,或者指出我的一些例子和/或文檔嗎?
你能顯示的是代碼嗎? – Paco 2011-01-25 15:39:57