protected override void OnBuildListeners(ListenerBuilder builder) { builder.ListenForTraitChange("./SubSession/MyFlag", (s, e) => { System.Diagnostics.Debugger.Break(); }); base.OnBuildListeners(builder); }
/// <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)); }
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)); }