우리는 RabbitMQ를 메시징 인프라로 사용하여 NserviceBus를 전송으로 사용하고 있습니다. 5. * 버전에서 NServiceBus 6.0으로 업그레이드하려고합니다. 5.0에서는 "Bus.Defer()"를 사용하여 이벤트를 연기 할 수 있습니다. 그러나 6.0 에서처럼 우리는 메시지 만 연기 할 수 있지만 이벤트는 연기 할 수 있습니까?NServiceBus 6.0에서 이벤트를 연기하는 방법은 무엇입니까?
"이벤트"라는 메시지와 함께 아래 코드를 사용하면 이벤트를 게시해야한다는 오류가 발생합니다.
var sendOptions = new SendOptions();
sendOptions.DoNotDeliverBefore(DateTimeOffset.Now.AddMinutes(30));
sendOptions.RouteToThisEndpoint();
return context.Send(message, sendOptions);
하지만 context.Publish (메시지,() 새로운 PublishOptions) 방법을 연기 할 수있는 옵션이 없습니다 "PublishOptions"에 걸립니다.
여기에 뭔가가 있습니까? 누군가가 도울 수 있으면 감사하게 생각하십시오.
를 호출하여 동일한을 달성 할 수있다. 행동을 연기해야한다면 명령이어야합니다. 문제의 범위를 넓히지 않으면 알기가 어렵습니다. 프로세스 관점에서 수행중인 작업에 대한 세부 정보를 추가 할 수 있습니까? –
제품 데이터가 변경 될 때 이벤트를 게시하는 제품 제작 시스템이 있습니다. 우리는 가입자이고 제품 데이터가 변경되면 시스템을 업데이트해야합니다. 일부 변경 사항은 즉시 적용되지 않으므로 이러한 이벤트 중 일부를 연기해야합니다. 예를 들어, 이벤트는 다음과 같을 수 있습니다. 2017년 9월 22일 EFFECTIVEDATE> ProductDataUpdated> 제품 업데이트 이벤트 또는 메시지 또는 명령은 항상 논쟁의 여지가있다,하지만 난 그것을 변경할 수 있다는 사실 메시지 또는 명령이 다른 문제를 일으키기 때문입니다. –