Beispiel #1
0
        static InternaRuleHandlerFactory()
        {
            var configItems = Config.PlatformConfig.ServerConfig.IOCSetting.ConfigurationItems;

            if (configItems != null && configItems.Count > 0)
            {
                //GAC中查找

                GACAssemblys = GACAssemblyHelper.GetAssemblys();

                foreach (var objectConfiguration in configItems)
                {
                    if (objectConfiguration.Key.ToLower() != "rule")
                    {
                        continue;
                    }
                    RegisterTypeOrInstanceToUnity(objectConfiguration);
                }
            }
            else
            {
                //从当前制定的路径下检索
                var searchPath = System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory,
                                                        Config.PlatformConfig.ServerConfig.IOCSetting.SearchPath);
                if (!System.IO.Directory.Exists(searchPath))
                {
                    return;
                }

                LoadPath(searchPath);
                //TODO...
            }
        }
Beispiel #2
0
        internal void InitializationFactory()
        {
            lock (lock_flag)
            {
#if SharePoint
                //从当前制定的路径下检索
                //var searchPath = System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory,
                //                                        "SharePoint");
                var searchPath = System.AppDomain.CurrentDomain.BaseDirectory;
                if (!System.IO.Directory.Exists(searchPath))
                {
                    return;
                }

                LoadPath(searchPath);
                //TODO...
#else
                log4netLogger = log4net.LogManager.GetLogger(this.GetType());

                basePath = System.AppDomain.CurrentDomain.BaseDirectory;

                if (NSHttpContext.Current != null && !basePath.EndsWith("bin"))
                {
                    basePath = Path.Combine(basePath, "bin");
                }

                //if (Config.PlatformConfig.ServerConfig.ConfigFilePath.EndsWith("bin"))
                //    basePath = Path.Combine(basePath, "bin");

                //添加拦截器
                unityContainer.AddNewExtension <Interception>();

                var configItems = Config.PlatformConfig.ServerConfig.IOCSetting.ConfigurationItems;

                if (configItems != null && configItems.Count > 0)
                {
                    //GAC中查找

                    this.GACAssemblys = GACAssemblyHelper.GetAssemblys();

                    foreach (var objectConfiguration in configItems)
                    {
                        RegisterTypeOrInstanceToUnity(objectConfiguration);
                    }
                }
                else
                {
                    //从当前制定的路径下检索
                    var searchPath = System.IO.Path.Combine(PlatformConfig.ServerConfig.IOCSetting.AssemblyFilePath,
                                                            Config.PlatformConfig.ServerConfig.IOCSetting.SearchPath);
                    if (!System.IO.Directory.Exists(searchPath))
                    {
                        return;
                    }

                    LoadPath(searchPath);
                    //TODO...
                }

                var objectItems = Config.PlatformConfig.ServerConfig.IOCSetting.ObjectItems;

                if (objectItems != null && objectItems.Count > 0)
                {
                    foreach (var objectConfiguration in objectItems)
                    {
                        RegisterTypeOrInstanceToUnitySinglon(objectConfiguration);
                    }
                }

                //注册用户自定义实现组件
                var customObjectItems = Config.PlatformConfig.ServerConfig.IOCSetting.CustomObjectItems;

                if (customObjectItems != null && customObjectItems.Count > 0)
                {
                    foreach (var objectConfiguration in customObjectItems)
                    {
                        RegisterTypeOrInstanceToUnity(objectConfiguration);
                    }
                }
#endif
            }
        }