灵魂腐蚀 发表于 2015-1-16 22:34:10

ASP.NET网页设计自界说使用程序设置文件(app.config)...

我觉得这个学习方法很重要。初学者应该跟我一样有同样一个毛病。那就是急于求成。很想就自己做出个小小的系统来。可真要动手,却又茫然而不知所措。为什么会这样呢?因为我们没有耐心去学习基础知识。写根本看不到什么效果的测试代码。程序1.设置文件概述:
使用程序设置文件是尺度的XML文件,XML标志和属性是辨别巨细写的。它是能够按必要变动的,开辟职员可使用设置文件来变动设置,而不用重编译使用程序。设置文件的根节点是configuration。我们常常会见的是appSettings,它是由.Net预界说设置节。我们常常利用的设置文件的架构是象上面的情势。先也许有个印象,经由过程前面的实例会有一个对照分明的熟悉。上面的“设置节”能够了解为举行设置一个XML的节点。
罕见设置文件形式:

<configuration>
<configSections>//设置节声明地区,包括设置节和定名空间声明
<section>//设置节声明
 <sectionGroup>//界说设置节组
  <section>//设置节组中的设置节声明
<appSettings>//预界说设置节
<Customelementforconfigurationsection>//设置节设置地区
2.只要appSettings节的设置文件及会见办法
上面是一个最多见的使用程序设置文件的例子,只要appSettings节。

<?xmlversion="1.0"encoding="utf-8"?>
<configuration>
<appSettings>
<addkey="connectionstring"value="UserID=sa;DataSource=.;Password=;InitialCatalog=test;Provider=SQLOLEDB.1;"/>
<addkey="TemplatePATH"value="Template"/>
</appSettings>
</configuration>
上面来看看如许的设置文件怎样办法。
string_connectionString=ConfigurationSettings.AppSettings["connectionstring"];
利用ConfigurationSettings类的静态属性AppSettings就能够间接办法设置文件中的设置信息。这个属性的范例是NameValueCollection。
3.自界说设置文件
3.1 自界说设置节
一个用户自界说的设置节,在设置文件平分为两部分:一是在<configSections></configSections>设置节中声明设置节(下面设置文件形式中的“<section>”),别的是在<configSections></configSections>以后设置设置节(下面设置文件形式中的“<Customelementforconfigurationsection>”),有点相似一个变量先声明,后利用一样。声明一个设置文件的语句以下:
<sectionname=""type=""/>
<section>:声明新设置节,便可创立新设置节。
name:自界说设置节的称号。
type:自界说设置节的范例,次要包含System.Configuration.SingleTagSectionHandler、System.Configuration.DictionarySectionHandler、System.Configuration.NameValueSectionHandler。
分歧的type不仅设置设置节的体例纷歧样,最初会见设置文件的操纵上也有差别。上面我们就举一个设置文件的例子,让它包括这三个分歧的type。
<?xmlversion="1.0"encoding="utf-8"?>
<configuration>
<configSections>
<sectionname="Test1"type="System.Configuration.SingleTagSectionHandler"/>
<sectionname="Test2"type="System.Configuration.DictionarySectionHandler"/>
<sectionname="Test3"type="System.Configuration.NameValueSectionHandler"/>
</configSections>

<Test1setting1="Hello"setting2="World"/>
<Test2>
<addkey="Hello"value="World"/>
</Test2>
<Test3>
<addkey="Hello"value="World"/>
</Test3>
</configuration>
我们对下面的自界说设置节举行申明。在声明部分利用<sectionname="Test1"type="System.Configuration.SingleTagSectionHandler"/>声了然一个设置节它的名字叫Test1,范例为SingleTagSectionHandler。在设置设置节部分利用<Test1setting1="Hello"setting2="World"/>设置了一个设置节,它的第一个设置的值是Hello,第二个值是World,固然还能够有更多。别的的两个设置节和这个相似。
上面我们看在程序中怎样会见这些自界说的设置节。我们用过ConfigurationSettings类的静态办法GetConfig来猎取自界说设置节的信息。
publicstaticobjectGetConfig(stringsectionName);
上面是会见这三个设置节的代码:
//会见设置节Test1
IDictionaryIDTest1=(IDictionary)ConfigurationSettings.GetConfig("Test1");
stringstr=(string)IDTest1["setting1"]+""+(string)IDTest1["setting2"];
MessageBox.Show(str);//输入HelloWorld
//会见设置节Test1的办法2
string[]values1=newstring;
IDTest1.Values.CopyTo(values1,0);
MessageBox.Show(values1+""+values1);//输入HelloWorld

//会见设置节Test2
IDictionaryIDTest2=(IDictionary)ConfigurationSettings.GetConfig("Test2");
string[]keys=newstring;
string[]values=newstring;
IDTest2.Keys.CopyTo(keys,0);
IDTest2.Values.CopyTo(values,0);
MessageBox.Show(keys+""+values);

//会见设置节Test3
NameValueCollectionnc=(NameValueCollection)ConfigurationSettings.GetConfig("Test3");
MessageBox.Show(nc.AllKeys.ToString()+""+nc["Hello"]);//输入HelloWorld
经由过程下面的代码我们能够看出,分歧的type经由过程GetConfig前往的范例分歧,详细取得设置内容的体例也纷歧样。设置节处置程序
前往范例

SingleTagSectionHandler
Systems.Collections.IDictionary

DictionarySectionHandler
Systems.Collections.IDictionary

NameValueSectionHandler
Systems.Collections.Specialized.NameValueCollection

3.2 自界说设置节组
设置节组是利用<sectionGroup>元素,将相似的设置节分到统一个组中。设置节组声明部分将创立设置节的包括元素,在<configSections>元素中声明设置节组,并将属于该组的节置于<sectionGroup>元素中。上面是一个包括设置节组的设置文件的例子:
<?xmlversion="1.0"encoding="utf-8"?>
<configuration>
<configSections>
<sectionGroupname="TestGroup">
<sectionname="Test"type="System.Configuration.NameValueSectionHandler"/>
</sectionGroup>
</configSections>

<TestGroup>
<Test>
<addkey="Hello"value="World"/>
</Test>
</TestGroup>
</configuration>
上面是会见这个设置节组的代码:
NameValueCollectionnc=(NameValueCollection)ConfigurationSettings.GetConfig("TestGroup/Test");
MessageBox.Show(nc.AllKeys.ToString()+""+nc["Hello"]);//输入HelloWorld
一个很大的类库。应用程序之所以难以跨平台,在于直接调用了特定平台的接口,而一个巨大的类库,就能极大地减少应用程序对平台的依赖。

飘灵儿 发表于 2015-1-19 16:53:45

在一个项目中谁敢保证每天几千万甚至几亿条的数据不丢失?谁敢保证应用的高可靠性?有可以借签的项目吗?

小妖女 发表于 2015-1-24 17:41:54

能产生和执行动态、交互式、高效率的站占服务器的应用程序。运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写。

只想知道 发表于 2015-2-2 11:32:27

ASP.net的服务器,要求安装一个.net环境,当然我这里指的是windows系统,顺便点一下,.net只能放在windows环境里来运行。Asp.net1.1的就装Framework1.1,Asp.net2.0的就装Framework2.0。

深爱那片海 发表于 2015-2-7 19:09:56

ASP.NET可以无缝地与WYSIWYGHTML编辑器和其他编程工具(包括MicrosoftVisualStudio.NET)一起工作。这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持。微软为ASP.net设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。

再见西城 发表于 2015-2-23 01:31:23

最强的技术支持WebService,而且有.NET的所有library做后盾。而且ASP.NET在.NET3.5中还有微软专门为AJAX开发的功能--ASP.NETAJAX。

愤怒的大鸟 发表于 2015-3-7 05:31:57

ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码。

简单生活 发表于 2015-3-14 13:22:11

代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。

蒙在股里 发表于 2015-3-21 09:22:50

它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
页: [1]
查看完整版本: ASP.NET网页设计自界说使用程序设置文件(app.config)...