ASP网页编程之在ASP.NET中创立自界说设置节(翻译)
asp,jsp,php是web开发的三大技术,asp简单易用且有microsoft做靠山,jsp功能强大是因为有java支持,php则开源跨平台.在国内,asp应用范围最广,jsp发展势头最猛,php则处于劣势.这可能与公司的支持以及技术的培训有关.asp.net|创立|asp.net1、先容ASP.NETWeb使用程序用一种内置的办法会见复杂的“键/值”设置数据。在Web.config文件中,你能够创立节来存储复杂的“键/值”对。比方,新建一个ASP.NET项目,在Web.config文件中增加以下的标志作为元素的子标志:
该节包括了用两个标志界说的“键/值”对,你能够经由过程Page工具内置的ConfigurationSettings属性取得它们的值。作为入手下手,在你的项目中新建一个名为customItems.aspx的Web窗体,将上面的代码增加到该窗体的Page_Load事务中:
DimaKeyAsString
Response.Write("
AppSettings
")
ForEachaKeyInConfigurationSettings.AppSettings.Keys
Response.Output.WriteLine(aKey&"="&_
ConfigurationSettings.AppSettings.Item(aKey))
Next
编译运转customItems.aspxWeb窗体,就可以看到标志的值了。For轮回检索了节中一切的标志,并将键及其对应的属性值显现出来。这类复杂的“键/值”机制关于很多一样平常性需求来说是完善的,好比在全部使用局限内存储数据库毗连字符串,但关于更庞大的数据它却不是充足强健。侥幸的是,微软一样创建了创立自界说设置数据的机制,使用ASP.NET框架读取一个或多个节,而不是仅经由过程某一详细使用中的代码往读流动的标志列表。节界说了框架预期在Web.config文件其他部分发明的标志称号,同时声了然处置其特定范例内容的类的范例和地位。
在剖析设置文件时,ASP.NET引擎经由过程读取元素的标志创建起一个大概的标志列表,个中每个标志都包括了一个“name”和一个“type”,声了然在文件其他内容中预期的标志称号和响应的设置节处置程序。上面用一个小实行来演示一下全部事情历程。在项目中Web.comfig文件开端的标志前边,增加一个新标志以下。
保留Web.config文件并运转项目,将会失掉一个“没法辨认的设置节‘customItems’”的毛病,这个毛病的产生是因为没有声明标志的节处置程序而至。可是假如扫瞄全部Web.config文件,你不会看到有任何一个标志的设置节处置程序声明,这就带来了一个成绩,这些设置节处置程序事实是在哪儿声明的?(在读这篇文章的时分,假如你同时依照上述步骤举行了操纵,那末请在持续下往之前将标志从Web.config文件中删失落。)
现实上每个Web使用程序都有两个设置文件:保留在体系文件夹下的根machine.config文件和在你使用程序根目次下的Web.config文件。你能够在操纵体系文件夹下的Microsoft.NETFrameworkCONFIG文件夹里找到machine.config文件,个中对应于服务器上安装并被激活的.NET框架。machine.config文件中关于设置的设置合用于在服务器上的一切使用程序,除非被部分设置所重置。扫瞄全部machine.config文件,能够看到一个包括了一组标志的标志,这些标志声了然你能在Web.config文件中看到的那些默许标志的设置节处置程序。为了使这一历程更容易于了解,能够更进一步将标志分组放在标志中,个中分离寄存一组相干的节标志。
我之以是引出machine.config文件,是由于有两种办法增加自界说标志:能够用任一种缺省的体系设置节处置程序来剖析自界说标志内容,也能够创立你本人的设置节处置程序。
2、利用体系设置节处置程序剖析自界说标志
1.在元素中创立一个新的标志,以下:
type="System.Configuration.NameValueSectionHandler,System,Version=1.0.3300.0,Culture=neutral,PublicKeyToken=b77a5c561934e089"
/>
作者提示:Version和PublicKeyToken的值大概和你的.NET框架版本分歧,要在体系中找出准确的值只需从任一个已存在的元素中复制便可!
2.将新建的标志放在Web.config文件中的停止标志之行进行测试,比方:
key="SomeKey"value="SomeValue"/>
3.保留Web.config文件,将以下高亮部分代码增添到customItems.aspxWeb窗体中的Page_Load事务中:
DimaKeyAsString
Response.Write("
AppSettings
")
ForEachaKeyInConfigurationSettings.AppSettings.Keys
Response.Output.WriteLine(aKey&"="&_
ConfigurationSettings.AppSettings.Item(aKey))
Next
Response.Write("
CustomSystemItems
")
ForEachaKeyInCType(ConfigurationSettings.GetConfig_
("customSystemItems"),_
System.Collections.Specialized.NameValueCollection).Keys
Response.Output.WriteLine(aKey&"="&_
ConfigurationSettings.AppSettings.Item(aKey))
Next
4.如今再次编译实行该Web窗体。此次,能够看到CustomSystemItem头信息跟随了一行“SomeKey=SomeValue”,它对应着在元素中增添的一个子元素。
经由过程修正machine.config文件,能够将界说好的自界说标志使用到在服务器上运转的恣意Web使用程序上。但极可能你其实不老是但愿标志处置程序使用于一切使用程序,假如是如许,能够在Web.config文件中增添标志和标志,而不是在machine.config文件中。测试一下,起首删除之前在machine.config文件中界说的标志并保留,接着,在Web.config文件中紧随着入手下手标志增添一个标志,并在个中置进标志。比方:
type="System.Configurati</p>下一页
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。 另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件) 他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。 虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。 我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标. 接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。 以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。 我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标. 如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:
页:
[1]