我几乎尝试了我在文档中找到的所有设置,而且我似乎无法获得一条消息,只是坐在队列中(除了错误队列)。
我试过了:
transport.UsePublisherConfirms(false);
和
SendOptions().RequireImmediateDispatch();
和
EndpointConfiguration().DisableDurableMessages();
似乎没什么用。如果没有处理程序,它只会踢回直到它在错误队列中结束。
答案 0 :(得分:2)
首先,我对你在这里想要实现的目标非常好奇。因为为什么你想要一条消息永远留在队列中?如果您可以提供相关信息,那将非常有用,因为可能有更好的解决方案。是否已在此队列之上运行端点?是否要在部署处理程序之前发送消息,以便在部署处理程序时它将开始处理消息?
您可能想要做的是创建自定义重试策略,直到永久重试:https://docs.particular.net/nservicebus/recoverability/custom-recoverability-policy#implement-a-custom-policy
但在实际执行此操作之前,请考虑其含义。端点将继续尝试此操作,其他消息将被处理得越来越慢,具体取决于队列中连续重试的消息的数量。