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... } }
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 } }