zoukankan      html  css  js  c++  java
  • 【kooboo分析】 关于配置数据连接

      这个系统很值得学习其中的很多发光点,看了很久的代码,如果不写出来些东西,的确是对不起开发者的汗水。

    当然,从这里起有些偏颇,先从点开始吧。 然后再从整体架构来说吧。

      其中数据方面,作者考虑的的确是细腻,如果使用了配置文件,就按配置文件走,如果没有配置文件,就按默认配置文件走,如果默认配置文件也没有,就使用SQLExPress。

    其实在项目中,这样做是没有太大必要的,但是,这是对于一个开源软件,对于很多懒得下载,附加数据的二次开发者来说,的确是方便的很。

    下面上代码片段。

    [DataContract]
        public class SiteOnSQLServerSettings
        {
            [System.Xml.Serialization.XmlIgnoreAttribute]
            private static SiteOnSQLServerSettings instance = null;
            static SiteOnSQLServerSettings()
            {
                string settingFile = GetSettingFile();
                if (File.Exists(settingFile))
                {
                    instance = DataContractSerializationHelper.Deserialize<SiteOnSQLServerSettings>(settingFile);
                }
                else
                {
                    instance = new SiteOnSQLServerSettings()
                    {
                        ConnectionString = "Server=.\\SQLExpress;Database=Kooboo_CMS; Trusted_Connection=Yes;"
                    };
                    Save(instance);
                }
            }
            public static void Save(SiteOnSQLServerSettings instance)
            {
                string settingFile = GetSettingFile();
                DataContractSerializationHelper.Serialize(instance, settingFile);
            }
            private static string GetSettingFile()
            {
                return Path.Combine(Kooboo.Settings.BinDirectory, "SiteOnSQLServerSettings.config");
            }
            public static SiteOnSQLServerSettings Instance
            {
                get
                {
                    return instance;
                }
                set
                {
                    instance = value;
                    Save(instance);
                }
            }
            [DataMember]
            public string ConnectionString { get; set; }
        }
     
  • 相关阅读:
    Java实现蓝桥杯 算法提高 线段和点
    Java实现蓝桥杯 算法提高 线段和点
    Java实现蓝桥杯 算法提高 线段和点
    Java实现第八届蓝桥杯国赛 数字划分
    Java实现第八届蓝桥杯国赛 数字划分
    Java实现第八届蓝桥杯国赛 数字划分
    Java实现第八届蓝桥杯国赛 数字划分
    Java实现第八届蓝桥杯国赛 数字划分
    Java实现蓝桥杯-算法提高 P1003
    必须得是一万小时的 刻意训练(deliberate practice)
  • 原文地址:https://www.cnblogs.com/zbw911/p/2859310.html
Copyright © 2011-2022 走看看