Я использую MassTransit версии 2.9.2 с MSMQ.Сообщение не отправляется в очередь ошибок
Я работаю над проверкой обработки ошибок и ожидаю, что процесс попытается отправить мое сообщение 5 раз, а затем поместить сообщение в очередь ошибок.
Сообщение повторяется 5 раз, но затем просто исчезает. Может ли кто-нибудь объяснить, почему сообщение не отправляется в очередь ошибок.
Мой потребитель:
public class OrderConsumer : Consumes<SAPOrder>.Context
{
public ISapServiceRepository SapServiceRepository { get; set; }
public void Consume(IConsumeContext<SAPOrder> message)
{
try
{
// Send the message to SAP
this.SapServiceRepository.SendOrder(message.Message);
}
catch (Exception ex)
{
throw;
}
}
}
Я использую AutoFac зарегистрировать автобус услуг и потребителей.
protected override void Load(ContainerBuilder builder)
{
builder.Register(c => ServiceBusFactory.New(sbc =>
{
// other configuration options
sbc.UseMsmq(
configurator => configurator.VerifyMsmqConfiguration());
sbc.UseXmlSerializer();
sbc.ReceiveFrom("msmq://localhost/orders");
sbc.Subscribe(x => x.LoadFrom(c.Resolve<ILifetimeScope>()));
sbc.EnableMessageTracing();
sbc.UseLog4Net();
})).As<IServiceBus>()
.SingleInstance();
if (this.registerConsumers)
{
builder.RegisterAssemblyTypes(this.GetType().Assembly)
.Where(t => t.Implements<IConsumer>())
.PropertiesAutowired(PropertyWiringOptions.AllowCircularDependencies)
.AsSelf();
builder.RegisterType<SapServiceRepository>()
.As<ISapServiceRepository>()
.InstancePerLifetimeScope()
.WithProperty("Username", "xxxxxxxxxxxx")
.WithProperty("Password", "xxxxxxxxxxxx")
.WithProperty("CountryId", "xxxxxxxxxxx")
.WithProperty("UseRequestLogging", true)
.PropertiesAutowired(
PropertyWiringOptions.PreserveSetValues | PropertyWiringOptions.AllowCircularDependencies);
}
}
Благодаря