我正在努力与MassTransit,这是另一个棘手的问题,我还没有解决。 当我直接调用发布方法时,一切正常,邮件发送到RMQ。但是当我用自己的方法封装这个方法并且在包装类的构造函数中注入总线时,它不起作用。消息根本就没有到达公共汽车。IBusControl发布什么都不做,同时包装到另一个类
using (var uow = new Wrapper(ctx, bus))
{
var itemMsg = new ItemChangedMessage() { Value = item.Value };
uow.Publish(itemMsg); //Does not work
bus.Publish(itemMsg); //Works fine
}
这里是一个包装类的方法。没什么特别的。
public void Publish(IMessage message)
{
bus.Publish(message);
...
}
我完全不知道这里可能会出现什么样的问题。尝试了异步\ await不同的组合,但没有任何帮助。
已经尝试了TaskUtil.Await(()=> _bus.Publish(message));同样,但它没有帮助。 –
好的,我知道它是什么 –
@AlexeyKoptyaev更新了我的答案。我被这几次烧伤了。 –