我正在使用NServiceBus.Host 6.0.0运行NServiceBus 5.2.14
我使用MSMQ作为传输和RavenDBPersistence。 除错误队列外,所有队列都出现在计算机管理中。 一切都适用于消息和端点。错误被重试5次。但是,重试5次后,它们不会出现在错误队列中。
我已经指定了错误队列:
<MessageForwardingInCaseOfFaultConfig ErrorQueue="error" />
并包含在configSections中:
<section name="MessageForwardingInCaseOfFaultConfig" type="NServiceBus.Config.MessageForwardingInCaseOfFaultConfig, NServiceBus.Core" />
Edit1:app.config:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="UnicastBusConfig" type="NServiceBus.Config.UnicastBusConfig, NServiceBus.Core" />
<section name="TransportConfig" type="NServiceBus.Config.TransportConfig, NServiceBus.Core" />
<section name="MessageForwardingInCaseOfFaultConfig" type="NServiceBus.Config.MessageForwardingInCaseOfFaultConfig, NServiceBus.Core" />
</configSections>
<TransportConfig MaximumConcurrencyLevel="5" MaxRetries="5" />
<MessageForwardingInCaseOfFaultConfig ErrorQueue="error" />
<UnicastBusConfig ForwardReceivedMessagesTo="audit">
<MessageEndpointMappings>
...
</MessageEndpointMappings>
</UnicastBusConfig>
...
Edit2:endpointconfig:
public class EndpointConfig : IConfigureThisEndpoint, AsA_Server
{
...
public void Customize(BusConfiguration busConfiguration)
{
...
var containerFactory = new ContainerFactory();
Container.InitializeContainer(containerFactory);
AutoMapperInitializer.Configure();
busConfiguration.AssembliesToScan(AllAssemblies.Matching("NServiceBus").And("OurProjectName."));
busConfiguration.UseTransport<MsmqTransport>();
busConfiguration.EndpointName(ConfigurationManager.AppSettings["InputQueueName"]);
busConfiguration.UseContainer<WindsorBuilder>(customizations => customizations.ExistingContainer(Container.Instance));
busConfiguration.UsePersistence<RavenDBPersistence>();
busConfiguration.EnableCriticalTimePerformanceCounter();
busConfiguration.RegisterComponents(components => { components.ConfigureComponent<UsernameForwarder>(DependencyLifecycle.InstancePerCall); });
...
}
}
我在自托管控制台中运行端点。在功能列表中,我看到了:
Name: ForwarderFaultManager
Version: 5.2.14
Enabled by Default: Yes
Status: Disabled
Deactivation reason: Did not meet one of the dependencies:
Name: InMemoryFaultManager
Version: 5.2.14
Enabled by Default: No
Status: Enabled
Dependencies: None
Startup Tasks: None
我怀疑我的问题在于ForwarderFaultManager,但是缺少的依赖项列表中没有列出任何内容。我可能缺少什么?我在哪里可以开始寻找?