I'm just getting started with NServiceBus and can't figure out what I am missing when setting up MsmqTransport in code. If I configure the publisher as follows:
IBus bus = Configure.With() .CastleWindsorBuilder() .XmlSerializer() .MsmqSubscriptionStorage() .MsmqTransport() .IsTransactional(true) .PurgeOnStartup(false) .UnicastBus() .ImpersonateSender(false) .CreateBus() .Start(); bus.Publish(new Message(DateTime.Now));
and app.config is like that
<configSections> <section name="MsmqTransportConfig" type="NServiceBus.Config.MsmqTransportConfig, NServiceBus.Core" /> </configSections> <MsmqTransportConfig InputQueue="testapps_messagebus" ErrorQueue="testapps_errors" NumberOfWorkerThreads="1" MaxRetries="5" />
Then everything works fine - this will create the queues, and I can happily send the message, however, if I delete the queues, and then try again with this code:
var config = Configure.With() .CastleWindsorBuilder() .XmlSerializer() .UnicastBus() .ImpersonateSender(false) .MsmqSubscriptionStorage(); config .Configurer .ConfigureComponent<MsmqTransport>(NServiceBus.ObjectBuilder.ComponentCallModelEnum.None) .ConfigureProperty(x => x.InputQueue, "testapps_messagebus") .ConfigureProperty(x => x.NumberOfWorkerThreads, 1) .ConfigureProperty(x => x.ErrorQueue, "testapps_errors") .ConfigureProperty(x => x.MaxRetries, 5); IBus bus = config .CreateBus() .Start(); bus.Publish(new Message(DateTime.Now));
Messages seem to be lost, because they are not displayed in any queues and are not processed - I assume that I have something missing, but I do not see where.
nservicebus
Gareth
source share