Esempio n. 1
0
        //验证配置KEY是否有效
        public ActionResult VerifyConfigKey(string key)
        {
            DictConfig dictConfig = DictConfigService.LoadEntities(c => c.Key == key).FirstOrDefault();

            if (dictConfig == null)
            {
                return(Content("1"));
            }
            else
            {
                return(Content("0"));
            }
        }
Esempio n. 2
0
        //增加配置
        public ActionResult AddConfig(DictConfig config)
        {
            DictConfigService.AddEntity(config);
            int affectRow = DictConfigService.SaveChange();

            if (affectRow == 1)
            {
                //进行更新缓存中配置
                Common.CacheOperation.UpdateSettingValue(config.Key, config.Value, config.Memo);
                return(Content("1"));
            }
            else
            {
                return(Content("0"));
            }
        }
Esempio n. 3
0
        protected void Application_Start()
        {
            //函数重载,表示自动读取应用程序配置文件中的相关配置
            //log4net.Config.XmlConfigurator.Configure();

            //配置DbContext
            string dbConfig = ConfigurationManager.AppSettings["DbInitType"];

            switch (dbConfig)
            {
            case "1":
                //只有在没有数据库的时候才会根据数据库连接配置创建新的数据库
                Database.SetInitializer(new OACreateDatabaseIfNotExists());
                break;

            case "2":
                //当数据库发生变化,根据配置新建数据库,并增加基础数据 创建了OADropCreateDatabaseIfModelChanges 子类进行实现。
                Database.SetInitializer(new OADropCreateDatabaseIfModelChanges());
                break;

            case "3":
                Database.SetInitializer(new OADropCreateDatabaseAlways());
                break;

            case "4":
                Database.SetInitializer(new MigrateDatabaseToLatestVersion <OAContext, OADbMigrationsConfiguration>());
                break;
            }

            AreaRegistration.RegisterAllAreas();

            WebApiConfig.Register(GlobalConfiguration.Configuration);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            //初始化配置字典
            IDictConfigService dictConfigService = new DictConfigService();
            DataTable          configTable       = dictConfigService.GetEntityTable();

            Common.CacheOperation.InitSetting(configTable.DefaultView);

            string logFilePath = Server.MapPath("/log");

            #region //开启线程处理错误日志
            ThreadPool.QueueUserWorkItem((path) =>
            {
                while (true)
                {
                    if (ProcessException.QueueException.Count() != 0)
                    {
                        ////取出队列中数据
                        Exception controllerException = ProcessException.QueueException.Dequeue();
                        //检索或获取一个错误记录器,参数为记录器名称,表明是由哪个错误记录器记录的
                        //ILog logger = LogManager.GetLogger("errorMsg");
                        //logger.Error(controllerException);

                        #region 自写日志保存
                        ////取出队列中数据
                        StringBuilder errorSb = new StringBuilder();
                        errorSb.Append("-----------------------------------------错误记录----------------------------------------\r\n");
                        errorSb.Append("错误时间:" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "\r\n");
                        errorSb.Append("错误信息:" + controllerException.Message + "\r\n");
                        errorSb.Append("错 误 源:" + controllerException.Source + "\r\n");
                        errorSb.Append("错误堆栈:" + controllerException.StackTrace + "\r\n");
                        File.AppendAllText(Path.Combine(path.ToString(), DateTime.Now.ToString("yyyy-MM-dd") + ".log"), errorSb.ToString());
                        #endregion
                    }
                    else
                    {
                        Thread.Sleep(3000);
                    }
                }
            }, logFilePath);
            #endregion
        }
Esempio n. 4
0
        public ActionResult GetDictConfig()
        {
            List <DictConfig> list = DictConfigService.LoadEntities(c => 1 == 1).ToList();

            return(Content(JsonConvert.SerializeObject(list)));
        }