Beispiel #1
0
        /// <summary>
        /// Checks if the specifier contains a given role and uses it to configure the UnicastBus appropriately.
        /// </summary>
        /// <param name="specifier"></param>
        public void ConfigureBusForEndpoint(IConfigureThisEndpoint specifier)
        {
            ConfigUnicastBus config = null;

            foreach (var role in availableRoles)
            {
                var roleType = role.Key;
                if (!roleType.IsAssignableFrom(specifier.GetType()))
                {
                    continue;
                }

                if (config != null)
                {
                    throw new InvalidOperationException("Endpoints can only have one role");
                }

                //apply role
                var roleConfigurer = Activator.CreateInstance(role.Value) as IConfigureRole;

                config = roleConfigurer.ConfigureRole(specifier);

                Logger.Info("Role " + roleType + " configured");
            }

            if (config != null)
            {
                config.LoadMessageHandlers();
            }
        }
Beispiel #2
0
        void Simple(Configure configure)
        {
            #region HandlerOrderingWithCode

            ConfigUnicastBus configUnicastBus = configure.UnicastBus();
            configUnicastBus.LoadMessageHandlers(First <HandlerB> .Then <HandlerA>().AndThen <HandlerC>());

            #endregion
        }