コード例 #1
0
		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);
		}
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
 public ConfigMsmqTransport <TTransport> HostingMode(RoutableTransportMode value)
 {
     transportConfig.ConfigureProperty(t => t.RoutableTransportMode, value);
     return(this);
 }