コード例 #1
0
        protected override void OnBuildListeners(ListenerBuilder builder)
        {
            builder.ListenForTraitChange("./SubSession/MyFlag", (s, e) => {
                System.Diagnostics.Debugger.Break();
            });

            base.OnBuildListeners(builder);
        }
コード例 #2
0
        /// <summary>
        /// Build a listener to handle requests of the given type using common options.
        /// </summary>
        /// <typeparam name="TRequest">The type of the request object</typeparam>
        /// <typeparam name="TResponse">The type of the response object</typeparam>
        /// <param name="messageBus">The message bus</param>
        /// <param name="build">The lambda function to build the listener</param>
        /// <returns>A token representing the subscription whic, when disposed, cancels the subscription</returns>
        public static IDisposable Listen <TRequest, TResponse>(this IReqResBus messageBus, Action <ITopicListenerBuilder <TRequest, TResponse> > build)
        {
            Assert.ArgumentNotNull(messageBus, nameof(messageBus));
            var builder = new ListenerBuilder <TRequest, TResponse>(messageBus, messageBus.WorkerPool);

            build(builder);
            var listener = builder.BuildListener();
            var token    = messageBus.Listen(builder.Topic, listener);

            return(builder.WrapToken(token));
        }
コード例 #3
0
        private void SetupCommonComponents(Container container, ConfigSettings settings)
        {
            var listenerBuilder = new ListenerBuilder(settings);

            if (settings.Debug)
            {
                DebugTrace.Listener = new ConsoleDebugListener();
            }

            var bus = StorEvilEvents.Bus;

            container.Register <IEventBus>(bus);

            listenerBuilder.SetUpListeners(bus);

            var assemblyRegistry = new AssemblyRegistry(settings.AssemblyLocations);

            container.Register(assemblyRegistry);

            new EventBusAutoRegistrar(assemblyRegistry).InstallTo(bus);

            container.EasyRegister <IStoryParser, StoryParser>();
            container.EasyRegister <IStoryProvider, StoryProvider>();
            container.EasyRegister <IStoryReader, FilesystemStoryReader>();

            container.EasyRegister <IFilesystem, Filesystem>();
            container.EasyRegister <ScenarioInterpreter>();
            container.EasyRegister <IInterpreterForTypeFactory, InterpreterForTypeFactory>();
            container.EasyRegister <ILanguageService, DefaultLanguageService>();
            container.EasyRegister <IExtensionMethodHandler, ExtensionMethodHandler>();

            container.EasyRegister <IAmbiguousMatchResolver, MostRecentlyUsedContext>();

            // container.Register<StorEvilSession>(GetSession(settings));
            container.Register <ISessionContext>(GetSessionContext(settings));
        }