public void RemoveAccount(RoutableTransportMode mode, bool isQueueDelete) { _msmqTransport.RoutableTransportMode = mode; var accountName = new AccountName("Account"); _accountCollection.GetOrCreate(accountName); Assert.IsTrue(_accountCollection.Any(c => c.Name == accountName.Value)); _accountHandler.Handle(new AccountRemovedMessage(accountName.Value)); _accountHandler.Handle(_bus.PluginCommands.OfType<AccountRemovedLastStepMessage>().Single()); Assert.IsFalse(_accountCollection.Any(c => c.Name == accountName.Value)); Assert.AreEqual(_msmqTransport.IsQueueDeleted, isQueueDelete); }
public void RemoveAccount(RoutableTransportMode mode, bool isQueueDelete) { _msmqTransport.RoutableTransportMode = mode; var accountName = new AccountName("Account"); _accountCollection.GetOrCreate(accountName); Assert.IsTrue(_accountCollection.Any(c => c.Name == accountName.Value)); _accountHandler.Handle(new AccountRemovedMessage(accountName.Value)); _accountHandler.Handle(_bus.PluginCommands.OfType <AccountRemovedLastStepMessage>().Single()); Assert.IsFalse(_accountCollection.Any(c => c.Name == accountName.Value)); Assert.AreEqual(_msmqTransport.IsQueueDeleted, isQueueDelete); }
private IMessageConsumer <MessageEx> CreateAndStartMainMessageConsumer(MsmqRouterFactory factory) { IMessageConsumer <MessageEx> consumer; IMessageSource <MessageEx> messageSource = factory.CreateSource(InputQueue, false); switch (RoutableTransportMode) { case RoutableTransportMode.OnSite: consumer = factory.CreateConsumer(messageSource); break; case RoutableTransportMode.OnDemand: consumer = factory.CreateRouter(messageSource, factory, GetQueueNameToRouteMessageIn); break; default: throw new ApplicationException(string.Format("{0} plugin hosting mode is not supported", RoutableTransportMode.ToString())); } consumer.IsTransactional = IsTransactional; consumer.IsolationLevel = IsolationLevel; consumer.TransactionTimeout = TransactionTimeout; consumer.Consume(Handle); return(consumer); }
public ConfigMsmqTransport <TTransport> HostingMode(RoutableTransportMode value) { transportConfig.ConfigureProperty(t => t.RoutableTransportMode, value); return(this); }