相對於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