static Cms() { Version = CmsVariables.VERSION; PyhicPath = AppDomain.CurrentDomain.BaseDirectory; //获取编译生成的时间 //Version ver=typeof(Cms).Assembly.GetName().Version; //BuiltTime= new DateTime(2000, 1, 1).AddDays(ver.Build).AddSeconds(ver.Revision * 2); //BuiltTime=System.IO.File.GetLastWriteTime(typeof(Cms).Assembly.Location); //获取平台 Int32 platFormId = (Int32)Environment.OSVersion.Platform; if (platFormId == 4 || platFormId == 6 || platFormId == 128) { RunAtMono = true; } //判断是否已经安装 FileInfo insLockFile = new FileInfo(String.Format("{0}config/install.lock", Cms.PyhicPath)); Installed = insLockFile.Exists; //初始化 Plugins = new CmsPluginContext(); Template = new CmsTemplate(); Cache = CacheFactory.Sington as CmsCache; Utility = new CmsUtility(); #region 缓存清除 // //UNDONE: 弱引用 // /* * WeakRefCache.OnLinkBuilting += () => * { * Cms.Cache.Clear(CacheSign.Link.ToString()); * }; * * WeakRefCache.OnModuleBuilting += () => * { * Cms.Cache.Clear(CacheSign.Module.ToString()); * }; * * WeakRefCache.OnPropertyBuilting += () => * { * Cms.Cache.Clear(CacheSign.Property.ToString()); * }; * * WeakRefCache.OnTemplateBindBuilting += () => * { * Cms.Cache.Clear(CacheSign.TemplateBind.ToString()); * }; * */ #endregion }
static Cms() { Version = CmsVariables.VERSION; PyhicPath = AppDomain.CurrentDomain.BaseDirectory; //获取编译生成的时间 //DateTime builtDate = new DateTime(2000, 1, 1).AddDays(ver.Build).AddSeconds(ver.Revision*2); string filePath = typeof(Cms).Assembly.Location; if (String.IsNullOrEmpty(filePath)) { filePath = PyhicPath + CmsVariables.FRAMEWORK_ASSEMBLY_PATH + "jrcms.dll"; } DateTime builtDate = File.GetLastWriteTime(filePath); BuiltTime = DateHelper.ToUnix(builtDate); //获取平台 Int32 platFormId = (Int32)Environment.OSVersion.Platform; if (platFormId == 4 || platFormId == 6 || platFormId == 128) { RunAtMono = true; } //初始化 Plugins = new CmsPluginContext(); Template = new CmsTemplate(); Cache = CacheFactory.Sington as CmsCache; Utility = new CmsUtility(); Language = new CmsLanguagePackage(); #region 缓存清除 // //UNDONE: 弱引用 // /* * WeakRefCache.OnLinkBuilting += () => * { * Cms.Cache.Clear(CacheSign.Link.ToString()); * }; * * WeakRefCache.OnModuleBuilting += () => * { * Cms.Cache.Clear(CacheSign.Module.ToString()); * }; * * WeakRefCache.OnPropertyBuilting += () => * { * Cms.Cache.Clear(CacheSign.Property.ToString()); * }; * * WeakRefCache.OnTemplateBindBuilting += () => * { * Cms.Cache.Clear(CacheSign.TemplateBind.ToString()); * }; * */ #endregion }
static Cms() { Version = CmsVariables.VERSION; PyhicPath = AppDomain.CurrentDomain.BaseDirectory; //获取编译生成的时间 //Version ver=typeof(Cms).Assembly.GetName().Version; //BuiltTime= new DateTime(2000, 1, 1).AddDays(ver.Build).AddSeconds(ver.Revision * 2); //BuiltTime=System.IO.File.GetLastWriteTime(typeof(Cms).Assembly.Location); //获取平台 Int32 platFormId = (Int32)Environment.OSVersion.Platform; if (platFormId == 4 || platFormId == 6 || platFormId == 128) { RunAtMono = true; } //判断是否已经安装 FileInfo insLockFile = new FileInfo(String.Format("{0}config/install.lock", Cms.PyhicPath)); Installed = insLockFile.Exists; //初始化 Plugins = new CmsPluginContext(); Template = new CmsTemplate(); Cache = CacheFactory.Sington as CmsCache; Utility = new CmsUtility(); #region 缓存清除 // //UNDONE: 弱引用 // /* WeakRefCache.OnLinkBuilting += () => { Cms.Cache.Clear(CacheSign.Link.ToString()); }; WeakRefCache.OnModuleBuilting += () => { Cms.Cache.Clear(CacheSign.Module.ToString()); }; WeakRefCache.OnPropertyBuilting += () => { Cms.Cache.Clear(CacheSign.Property.ToString()); }; WeakRefCache.OnTemplateBindBuilting += () => { Cms.Cache.Clear(CacheSign.TemplateBind.ToString()); }; */ #endregion }
/// <summary> /// 设置应用程序,如在过程中发生异常则重启并提醒! /// </summary> public static void Init() { if (!Installed) { return; } //初始化目录 ChkCreate(CmsVariables.TEMP_PATH); //todo: //初始化设置 string cmsConfigFile = String.Format("{0}config/cms.config", Cms.PyhicPath); FileInfo cfgFile = new FileInfo(cmsConfigFile); if (cfgFile.Exists) { Configuration.Load(cmsConfigFile); } else { throw new Exception("CMS配置文件不存在"); } //设置数据库 CmsDataBase.Initialize( String.Format("{0}://{1}", Settings.DB_TYPE.ToString(), Settings.DB_CONN.ToString()), Settings.DB_PREFIX); //清空临时文件 //resetTempFiles(); //注册KvDB string kvDir = Cms.PyhicPath + CmsVariables.TEMP_PATH + "data/.gca"; if (Directory.Exists(kvDir)) { Directory.Delete(kvDir, true); } Kvdb.SetPath(kvDir); Kvdb.Clean(); //获取静态服务器 //UpdateServerInfo(); // //TODO: // //检查网站激活状态 //SoftwareActivator.VerifyActivation(); //如果不存在模板文件夹,则创建目录 if (!Directory.Exists(Cms.PyhicPath + "templates/")) { Directory.CreateDirectory(Cms.PyhicPath + "templates/").Create(); //暂时网络安装默认模板(后可使用资源代替) Updater.InstallTemplate("default", "tpl_default.zip"); } //注册模板 Template.Register("/templates/", true); //PluginConfig.PLUGIN_FILE_PARTTERN = "*.dll,*.so"; PluginConfig.PLUGIN_DIRECTORY = CmsVariables.PLUGIN_PATH; PluginConfig.PLUGIN_TMP_DIRECTORY = CmsVariables.TEMP_PATH + "plugin/"; PluginConfig.PLUGIN_LOG_OPENED = true; PluginConfig.PLUGIN_LOG_EXCEPT_FORMAT = "** {time} **:{message}\r\nSource:{source}\r\nAddress:{addr}\r\nStack:{stack}\r\n\r\n"; string pluginPhysicPath = Cms.PyhicPath + PluginConfig.PLUGIN_TMP_DIRECTORY; if (!Directory.Exists(pluginPhysicPath)) { Directory.CreateDirectory(pluginPhysicPath).Create(); } //连接插件 CmsPluginContext.Connect(); if (OnInit != null) { Cms.OnInit(); } }
/// <summary> /// 设置应用程序,如在过程中发生异常则重启并提醒! /// </summary> public static void Init(BootFlag flag, String confPath) { BeforeInit(); if (!IsInstalled()) { return; } //初始化目录 ChkCreate(CmsVariables.TEMP_PATH); // 加载配置 Configuration.LoadCmsConfig(confPath); //设置数据库 CmsDataBase.Initialize(String.Format("{0}://{1}", Settings.DB_TYPE.ToString(), Settings.DB_CONN.ToString()), Settings.DB_PREFIX, Settings.SQL_PROFILE_TRACE); //清空临时文件 //resetTempFiles(); // 初始化键值存储 InitKvDb(); // 加载其他配置 LoadOtherConfig(); //获取静态服务器 //UpdateServerInfo(); // 正常模式启动 if ((flag & BootFlag.Normal) != 0) { _buildSet = new CustomBuildSet(); // //TODO: // //检查网站激活状态 //SoftwareActivator.VerifyActivation(); //如果不存在模板文件夹,则创建目录 if (!Directory.Exists(Cms.PyhicPath + "templates/")) { Directory.CreateDirectory(Cms.PyhicPath + "templates/").Create(); //暂时网络安装默认模板(后可使用资源代替) Updater.InstallTemplate("default", "tpl_default.zip"); } _templateManager = new TemplateManager(Cms.PyhicPath + CmsVariables.TEMPLATE_PATH); // 注册模板 Template.Register("/" + CmsVariables.TEMPLATE_PATH, true); // 注册插件 //PluginConfig.PLUGIN_FILE_PARTTERN = "*.dll,*.so"; PluginConfig.PLUGIN_DIRECTORY = CmsVariables.PLUGIN_PATH; PluginConfig.PLUGIN_TMP_DIRECTORY = CmsVariables.TEMP_PATH + "plugin/"; PluginConfig.PLUGIN_LOG_OPENED = true; PluginConfig.PLUGIN_LOG_EXCEPT_FORMAT = "** {time} **:{message}\r\nSource:{source}\r\nAddress:{addr}\r\nStack:{stack}\r\n\r\n"; string pluginPhysicPath = Cms.PyhicPath + PluginConfig.PLUGIN_TMP_DIRECTORY; if (!Directory.Exists(pluginPhysicPath)) { Directory.CreateDirectory(pluginPhysicPath).Create(); } // 连接插件 CmsPluginContext.Connect(); // 设置验证码字体 VerifyCodeGenerator.SetFontFamily(Cms.PyhicPath + CmsVariables.FRAMEWORK_ASSETS_PATH + "fonts/comic.ttf"); } if (OnInit != null) { Cms.OnInit(); } IsInitFinish = true; }
static Cms() { PyhicPath = AppDomain.CurrentDomain.BaseDirectory; //获得版本号 //AssemblyFileVersionAttribute ver = (AssemblyFileVersionAttribute)typeof(Cms).Assembly.GetCustomAttributes(typeof(AssemblyFileVersionAttribute), false)[0]; //string[] verarr = ver.Version.Split('.'); //Version = String.Format("{0}.{1}.{2}", verarr[0], verarr[1], verarr[2]); //获取编译生成的时间 //Version ver=typeof(Cms).Assembly.GetName().Version; //BuiltTime= new DateTime(2000, 1, 1).AddDays(ver.Build).AddSeconds(ver.Revision * 2); //BuiltTime=System.IO.File.GetLastWriteTime(typeof(Cms).Assembly.Location); //获取平台 Int32 platFormID = (Int32)Environment.OSVersion.Platform; if (platFormID == 4 || platFormID == 6 || platFormID == 128) { RunAtMono = true; } //初始化 Plugins= new CmsPluginContext(); Template= new CmsTemplate(); Cache=CacheFactory.Sington as CmsCache; Utility=new CmsUtility(); #region 缓存清除 // //UNDONE: 弱引用 // /* WeakRefCache.OnLinkBuilting += () => { Cms.Cache.Clear(CacheSign.Link.ToString()); }; WeakRefCache.OnModuleBuilting += () => { Cms.Cache.Clear(CacheSign.Module.ToString()); }; WeakRefCache.OnPropertyBuilting += () => { Cms.Cache.Clear(CacheSign.Property.ToString()); }; WeakRefCache.OnTemplateBindBuilting += () => { Cms.Cache.Clear(CacheSign.TemplateBind.ToString()); }; */ #endregion }