Exemple #1
0
        internal void ExecuteSignals(string module, string signal)
        {
            INodeSetService       nodeSetService        = _ServiceProvider.GetService <INodeSetService>();
            KraftModuleCollection kraftModuleCollection = _ServiceProvider.GetService <KraftModuleCollection>();

            DefaultHttpContext httpContext = new DefaultHttpContext();

            httpContext.Request.Method = "GET";
            RouteData routeData = new RouteData();

            routeData.Values.Add(Constants.RouteSegmentConstants.RouteModule, module);
            routeData.Values.Add(Constants.RouteSegmentConstants.RouteModuleSignalParameter, signal);
            routeData.DataTokens.Add("key", Constants.RouteSegmentConstants.RouteDataTokenSignalRead);

            httpContext.Features[typeof(IRoutingFeature)] = new RoutingFeature()
            {
                RouteData = routeData,
            };

            ProcessorSignal processorSignal = new ProcessorSignal(httpContext, kraftModuleCollection, ESupportedContentTypes.JSON, nodeSetService);
            IProcessingContextCollection processingContextCollection = processorSignal.GenerateProcessingContexts(_KraftGlobalConfigurationSettings, string.Empty, new SecurityModelMock(_KraftGlobalConfigurationSettings.GeneralSettings.AuthorizationSection));
            RequestExecutor requestExecutor = new RequestExecutor(_ServiceProvider, httpContext, _KraftGlobalConfigurationSettings);

            foreach (IProcessingContext processingContext in processingContextCollection.ProcessingContexts)
            {
                requestExecutor.ExecuteReEntrance(processingContext);
            }
        }