/// <exclude />
        public static void ApplicationStartInitialize(bool displayDebugInfo = false)
        {
            ThreadDataManager.InitializeThroughHttpContext();

            if (displayDebugInfo)
            {
                Log.LogVerbose("Global.asax", "--- Web Application Start, {0} Id = {1} ---", DateTime.Now.ToLongTimeString(), AppDomain.CurrentDomain.Id);
            }

            PerformanceCounterFacade.SystemStartupIncrement();

            using (GlobalInitializerFacade.GetPreInitHandlersScope())
            {
                ApplicationStartupFacade.FireConfigureServices(ServiceLocator.ServiceCollection);

                ServiceLocator.BuildServiceProvider();
                ServiceLocator.CreateRequestServicesScope(HttpContext.Current);

                ApplicationStartupFacade.FireBeforeSystemInitialize(ServiceLocator.ServiceProvider);
            }

            TempDirectoryFacade.OnApplicationStart();

            HostnameBindingsFacade.Initialize();

            ApplicationStartupFacade.FireSystemInitialized(ServiceLocator.ServiceProvider);

            ThreadDataManager.FinalizeThroughHttpContext();
        }
        internal static void InitializeDataTypes()
        {
            if (RuntimeInformation.IsDebugBuild)
            {
                GlobalInitializerFacade.ValidateIsOnlyCalledFromGlobalInitializerFacade(new StackTrace());
            }

            _dataProviderRegistry.InitializeDataTypes();
        }
        internal static void Initialize_PostDataTypes()
        {
            if (RuntimeInformation.IsDebugBuild)
            {
                GlobalInitializerFacade.ValidateIsOnlyCalledFromGlobalInitializerFacade(new StackTrace());
            }

            DoInitialize();
        }
Beispiel #4
0
        public static bool EnsureDataStores()
        {
            if (RuntimeInformation.IsDebugBuild)
            {
                GlobalInitializerFacade.ValidateIsOnlyCalledFromGlobalInitializerFacade(new StackTrace());
            }

            return(_dataStoreExistenceVerifier.EnsureDataStores());
        }
Beispiel #5
0
        internal static void FlushTheSystem(bool waitForHooksInitialization)
        {
            GlobalInitializerFacade.ReinitializeTheSystem(
                delegate()
            {
                FireFlushEvent();

                // LoadDynamicTypesInformation();

                FirePostFlushEvent();
            }, waitForHooksInitialization);
        }
Beispiel #6
0
        internal static void Initialize_PostDataTypes()
        {
            if (RuntimeInformation.IsDebugBuild)
            {
                GlobalInitializerFacade.ValidateIsOnlyCalledFromGlobalInitializerFacade(new StackTrace());
            }

            _referencedToReferees = new Dictionary <Type, List <Type> >();
            _foreignKeyProperties = new Dictionary <Type, IReadOnlyList <ForeignPropertyInfo> >();

            foreach (Type type in DataProviderRegistry.AllInterfaces)
            {
                AddNewType(type);
            }
        }
        internal static void Initialize_PostDataTypes()
        {
            if (RuntimeInformation.IsDebugBuild)
            {
                GlobalInitializerFacade.ValidateIsOnlyCalledFromGlobalInitializerFacade(new StackTrace());
            }

            _associatedTypes  = new Dictionary <Type, List <Type> >();
            _dataAssociations = new Dictionary <Type, Dictionary <Type, DataAssociationInfo> >();

            foreach (Type type in DataProviderRegistry.AllInterfaces)
            {
                AddNewType(type);
            }
        }
        /// <exclude />
        public static IEnumerable <EntityToken> GetParentToChildHooks(EntityToken parentEntityToken)
        {
            try
            {
                using (GlobalInitializerFacade.CoreIsInitializedScope)
                {
                    return(_hookingFacade.GetParentToChildHooks(parentEntityToken));
                }
            }
            catch (Exception ex)
            {
                Log.LogCritical("HookingFacade", ex);

                GlobalInitializerFacade.FatalResetTheSystem();

                throw;
            }
        }
        /// <exclude />
        public static void AddHooks(IEnumerable <EntityTokenHook> entityTokenHooks)
        {
            try
            {
                using (GlobalInitializerFacade.CoreIsInitializedScope)
                {
                    _hookingFacade.AddHooks(entityTokenHooks);
                }
            }
            catch (Exception ex)
            {
                Log.LogCritical("HookingFacade", ex);

                GlobalInitializerFacade.FatalResetTheSystem();

                throw;
            }
        }
        public WorkflowInstance CreateNewWorkflow(Type workflowType, Dictionary <string, object> arguments)
        {
            GlobalInitializerFacade.EnsureSystemIsInitialized();
            DoInitialize(0);

            try
            {
                WorkflowInstance workflowInstance = _workflowRuntime.CreateWorkflow(workflowType, arguments);

                SetWorkflowPersistingType(workflowType, workflowInstance.InstanceId);

                if (arguments.TryGetValue("SerializedEntityToken", out var serializedEntityToken) &&
                    arguments.TryGetValue("SerializedActionToken", out var serializedActionToken))
                {
                    ActionToken actionToken = ActionTokenSerializer.Deserialize((string)serializedActionToken);

                    if (!actionToken.IgnoreEntityTokenLocking)
                    {
                        AcquireLockIfNeeded(workflowType, workflowInstance.InstanceId, (string)serializedEntityToken);
                    }
                }

                return(workflowInstance);
            }
            catch (WorkflowValidationFailedException exp)
            {
                var errors = new StringBuilder();
                foreach (ValidationError error in exp.Errors)
                {
                    errors.AppendLine(error.ToString());
                }

                Log.LogError(LogTitle, errors.ToString());
                throw;
            }
        }
        public WorkflowInstance CreateNewWorkflow(Type workflowType)
        {
            GlobalInitializerFacade.EnsureSystemIsInitialized();
            DoInitialize(0);

            try
            {
                WorkflowInstance workflowInstance = _workflowRuntime.CreateWorkflow(workflowType);

                SetWorkflowPersistingType(workflowType, workflowInstance.InstanceId);

                return(workflowInstance);
            }
            catch (WorkflowValidationFailedException exp)
            {
                StringBuilder errors = new StringBuilder();
                foreach (ValidationError error in exp.Errors)
                {
                    errors.AppendLine(error.ToString());
                }
                Log.LogError(LogTitle, errors.ToString());
                throw;
            }
        }
Beispiel #12
0
 /// <exclude />
 public static void ShutDownTheSystem()
 {
     GlobalInitializerFacade.UninitializeTheSystem(FireShutDownEvent);
 }