C#配置文件解析工具的实现

相对于java开发者来说,VS的开发者不知幸福多少倍。但是,幸福的另一方面是,我们很少能够了解底层的技术,更多的是跟随者微软的技术走。开源的框架,少之甚少。最近,我研究了.Net Framework中的配置文件管理部分技术,结合实际的应用,重写了相关的类,实现SQL语句、消息的XML配置管理。

配置管理单独工程代码及应用程序中的使用方法代码的下载地址是:http://download.csdn.net/download/attagain/4690885

一、配置管理工程的设计

重写后的主要配置类的泛型关系,如下图所示:



为了能够使用的方便性、结合SQL、MSG在独立系统中的特殊性,分别建立了单件类。单件类及SQL、MSG的配置管理类之间的组合关系,如下图所示:


二、具体应用程序的使用方法

1、将配置管理工程编译的程序集【com.sis.cbb.dll】,引入应用程序工程。

2、应用程序工程中,新建文件夹【Config】,同时创建SQL、MSG的配置文件SqlConfiguration.config和MsgConfiguration.config。

a、SQL配置文件的格式

<?xml version="1.0" encoding="utf-8" ?>

<sqlConfiguration xmlns="http://www.AttaGain.com/SqlConfiguration.xsd">
    <sqls>
        <!--テーストSQL S-->
        <!--検索のテストSQL-->
        <sql name="test.SelectSQL">
            <![CDATA[
            select distinct t.vehicle_machine_version as "vehicleMachineVersion"
              from bundle_version_info t
             order by t.vehicle_machine_version desc
            ]]>
        </sql>


        <!--インサートのテストSQL-->
        <sql name="test.InsertSQL">
            <![CDATA[
            insert into update_info
              (workstation_ip,
               vehicle_machine_version,
               file_name,
               update_date,
               forward_div)
            values
              (:workstationIp,
               :vehicleMachineVersion,
               :fileName,
               to_date(:updateDate, 'YYYY/MM/DD'),
               :forwardDiv)
            ]]>
        </sql>

        <!--アップデートのテストSQL-->
        <sql name="test.UpdateSQL">
            <![CDATA[
            update upload_file_info t
               set t.upload_status = :uploadStatus
             where t.workstation_ip = :workstationIp
               and t.upload_date = to_date(:uploadDate, 'YYYY/MM/DD')
               and t.file_number = :fileNumber
            ]]>
        </sql>


        <!--削除のテストSQL-->
        <sql name="test.DeleteSQL">
            <![CDATA[
            delete from update_info
            ]]>
        </sql>
        <!--テーストSQL E-->
    </sqls>
</sqlConfiguration>

b、MSG配置文件格式

<?xml version="1.0" encoding="utf-8" ?>

<msgConfiguration xmlns="http://www.AttaGain.com/MsgConfiguration.xsd">
    <msgs>
        <!--テストメッセージ定義 S-->
        <!--システムの異常エラー-->
        <msg name="SYS_COM_SYSERRER" code="SYS_000001" level="3" type="debug,trace,message">
            <![CDATA[
システムは、異常なエラーが発生します。({0})
            ]]>
        </msg>
        <!--テストメッセージ定義 E-->
    </msgs>
</msgConfiguration>

c、Web.config或App.config配置文件的标签<configSections>和</configSections>之间,添加如下配置信息:

<!-- sqlConfiguration要素と解析クラス -->

<section name="sqlConfiguration" type="com.sis.cbb.Configuration.SqlConfiguration.SqlConfigurationSection,com.sis.cbb"/>
<!-- msgConfiguration要素と解析クラス -->
<section name="msgConfiguration" type="com.sis.cbb.Configuration.MsgConfiguration.MsgConfigurationSection,com.sis.cbb"/>
<!-- 利用するビジネス関係設定ファイルのリスト -->

<sqlConfiguration configSource="Config\SqlConfiguration.config"/>
<!-- 利用するビジネス関係設定ファイルのリスト -->
<msgConfiguration configSource="Config\MsgConfiguration.config"/>

d、在应用程序中的使用方法

// 根据Message名,获取消息对象

            com.sis.cbb.Entry.MsgManage.Instance().GetMsgByName("SYS_COM_SYSERRER");

// 根据Message ID,获取消息对象

             com.sis.cbb.Entry.MsgManage.Instance().GetMsgByCode("SYS_000001");

// 根据SQL ID,获取SQL语句内容

            com.sis.cbb.Entry.SqlManage.Instance().GetSql("test.SelectSQL");

本文中,描述了重写配置管理类的逻辑关系,详细讲述如何使用该工程。希望能够大家带来帮助,好运哦。

配置管理单独工程代码及应用程序中的使用方法代码的下载地址是:http://download.csdn.net/download/attagain/4690885

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值