人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當(dāng)前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

自定義設(shè)置節(jié)處理完成個(gè)性化web.config

自定義設(shè)置節(jié)處理完成個(gè)性化web.config

更新時(shí)間:2022-06-05 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

通過System.Configuration中的ConfigurationSettings類的AppSettings屬性,可以很方便訪問web.config配置文件中appSettings節(jié)點(diǎn)的數(shù)據(jù)。對(duì)于web程序利用這個(gè)配置文件存放一些只讀的程序信息,比如程序名稱,作者信息,數(shù)據(jù)庫連接字符串等將是十分方便有用。如:

<!--Sample.aspx-->
private void Page_Load(object sender, System.EventArgs e)
{
this.tbName = ConfigurationSettings.AppSettings[“AppName“];
}

<!--web.config-->
<configuration>
<appSettings>
<add key="AppName" value="MyApplication" />
</appSettings>
... ...

對(duì)于ConfigurationSettings類有個(gè)方法GetConfig(string sectionName)可以訪問任何配置元素,對(duì)于以上例子,可如此使用:

<!--Sample.aspx-->
private void Page_Load(object sender, System.EventArgs e)
{
object settings = ConfigurationSettings.GetConfig(“appSettings“);
NameValueCollection nvc = settings as NameValueCollection;
if (nvc != null)
{
string val = (string)nvc[“AppName“];
this.tbName = val;
}
}

可見GetConfig()方法返回了一個(gè)配置處理的對(duì)象,轉(zhuǎn)換成NameValueCollection的實(shí)例后,可以訪問到該section內(nèi)的內(nèi)容了。其實(shí)對(duì)于配置文件檢索有背后的處理程序?qū)崿F(xiàn),同時(shí)我們可以看到在web.config,或machine.config中看到對(duì)于處理程序的聲明,如:

<!--web.config-->
<configuration>
<configSections>
<section name="mySection"
type="Chagel.Configration.Settings, Configuration" />
</configSections>
<mySection>
<AppName> MyApplication</AppName>
</mySection>
... ...

以上聲明了一個(gè)mySection元素,并在configSections中聲明了該配置的處理程序類名為Chagel.Configration.Settings,Configuration為程序集名稱。接下來我們可以通過一個(gè)實(shí)現(xiàn)System.Configuration.IConfigurationSectionHandler接口的類來處理該配置元素,如:

<!--Settings.cs-->
using Chagel.Configration.Data;
namespace Chagel.Configration
{
public class Settings:IConfigurationSectionHandler
{ //實(shí)現(xiàn)該接口的Create方法
public object Create(object parent, object input, XmlNode node)
{
Data data = new Data();

foreach(XmlNode xn in node.ChildNodes)
{
switch(xn.Name)
{
case("appName"):
data.AppName = xn.InnerText;
break;
case("appVer"):
data.AppVer = xn.InnerText;
break;
... ...
}//switch end

}//foreach end

return data;

}//method end
}
}

IConfigurationSectionHandler 接口只有一種方法,每當(dāng)發(fā)現(xiàn)注冊(cè)到處理程序的配置節(jié)時(shí),都會(huì)在節(jié)處理程序上調(diào)用 Create 方法,我們實(shí)現(xiàn)的類返回一個(gè)Data類的實(shí)例,該類是一個(gè)專門的數(shù)據(jù)集,代碼如下:

<!--Data.cs-->
namespace Chagel.Configration.Data
{
public class Data
{
public Data()
{
}
public string AppName;//程序名稱
public string AppVer;//程序版本
public string AppAuthor;//程序作者
... ...
}
}

至此,現(xiàn)在可以讀取配置元素值了,如:

<!--Sample1.aspx-->
private void Page_Load(object sender, System.EventArgs e)
{
Data data;
data = ConfigurationSettings.GetConfig("mySection") as Data;
this.tbName.Text = data.AppName;
}

到此我們通過實(shí)現(xiàn)一個(gè)類支持 IConfigurationSectionHandler 接口來對(duì)自定義節(jié)進(jìn)行處理,完成對(duì)自定義節(jié)的讀取。當(dāng)然我們?nèi)钥梢灾苯勇暶飨到y(tǒng)的處理程序(System.Configuration.NameValueFileSectionHandler)重用與appSettings一樣的類。

溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
主站蜘蛛池模板: 湖北省| 广州市| 枣强县| 漠河县| 盐山县| 左权县| 金沙县| 旺苍县| 盐源县| 清远市| 崇仁县| 青田县| 广宗县| 昌宁县| 韶关市| 图片| 酒泉市| 墨竹工卡县| 新昌县| 永宁县| 花垣县| 明星| 天等县| 木里| 上犹县| 理塘县| 吴桥县| 蚌埠市| 霍邱县| 五华县| 壤塘县| 怀来县| 额济纳旗| 兰考县| 深圳市| 湖州市| 玛沁县| 罗平县| 巴南区| 鱼台县| 潍坊市|