|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ASP是依赖组件的,能访问数据库的组件好多就有好多种,再有就是你微软的工具可是什么都要收钱的啊!web经由过程System.Configuration中的ConfigurationSettings类的AppSettings属性,能够很便利会见web.config设置文件中appSettings节点的数据。关于web程序使用这个设置文件寄存一些只读的程序信息,好比程序称号,作者信息,数据库毗连字符串等将是非常便利有效。如:
<!--Sample.aspx-->
privatevoidPage_Load(objectsender,System.EventArgse)
{
this.tbName=ConfigurationSettings.AppSettings[“AppName“];
}
<!--web.config-->
<configuration>
<appSettings>
<addkey="AppName"value="MyApplication"/>
</appSettings>
......
关于ConfigurationSettings类有个办法GetConfig(stringsectionName)能够会见任何设置元素,关于以上例子,可云云利用:
<!--Sample.aspx-->
privatevoidPage_Load(objectsender,System.EventArgse)
{
objectsettings=ConfigurationSettings.GetConfig(“appSettings“);
NameValueCollectionnvc=settingsasNameValueCollection;
if(nvc!=null)
{
stringval=(string)nvc[“AppName“];
this.tbName=val;
}
}
可见GetConfig()办法前往了一个设置处置的工具,转换成NameValueCollection的实例后,能够会见到该section内的内容了。实在关于设置文件检索有面前的处置程序完成,同时我们能够看到在web.config,或machine.config中看到关于处置程序的声明,如:
<!--web.config-->
<configuration>
<configSections>
<sectionname="mySection"
type="Chagel.Configration.Settings,Configuration"/>
</configSections>
<mySection>
<AppName>MyApplication</AppName>
</mySection>
......
以上声了然一个mySection元素,并在configSections中声了然该设置的处置程序类名为Chagel.Configration.Settings,Configuration为程序集称号。接上去我们能够经由过程一个完成System.Configuration.IConfigurationSectionHandler接口的类来处置该设置元素,如:
<!--Settings.cs-->
usingChagel.Configration.Data;
namespaceChagel.Configration
{
publicclassSettings:IConfigurationSectionHandler
{//完成该接口的Create办法
publicobjectCreate(objectparent,objectinput,XmlNodenode)
{
Datadata=newData();
foreach(XmlNodexninnode.ChildNodes)
{
switch(xn.Name)
{
case("appName"):
data.AppName=xn.InnerText;
break;
case("appVer"):
data.AppVer=xn.InnerText;
break;
......
}//switchend
}//foreachend
returndata;
}//methodend
}
}
IConfigurationSectionHandler接口只要一种办法,每当发明注册各处理程序的设置节时,城市在节处置程序上挪用Create办法,我们完成的类前往一个Data类的实例,该类是一个专门的数据集,代码以下:
<!--Data.cs-->
namespaceChagel.Configration.Data
{
publicclassData
{
publicData()
{
}
publicstringAppName;//程序称号
publicstringAppVer;//程序版本
publicstringAppAuthor;//程序作者
......
}
}
至此,如今能够读取设置元素值了,如:
<!--Sample1.aspx-->
privatevoidPage_Load(objectsender,System.EventArgse)
{
Datadata;
data=ConfigurationSettings.GetConfig("mySection")asData;
this.tbName.Text=data.AppName;
}
到此我们经由过程完成一个类撑持IConfigurationSectionHandler接口来对自界说节举行处置,完成对自界说节的读取。固然我们仍能够间接声明体系的处置程序(System.Configuration.NameValueFileSectionHandler)重用与appSettings一样的类。
</p>大家可以自己去看一看.可以说看得想呕吐.以前有次下了个动网来看.里面连基本内置函数的保护措施(函数没防御性)都没有.难怪经常补这个补那个了.可能现在.NET版会好点吧 |
|