相对于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