转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> Web开发 >> 正文
在ASP.NET中创建自定义配置节(翻译)         ★★★★

在ASP.NET中创建自定义配置节(翻译)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:3190 更新时间:2009/4/23 10:47:18

一、介绍

ASP.NET Web应用程序用一种内置的方法访问简单的“键/值”配置数据。在Web.config文件中,你可以创建节来存储简单的“键/值”对。例如,新建一个ASP.NET项目,在Web.config文件中添加如下的标记作为元素的子标记:

  

     

     

  

该节包含了用两个标记定义的“键/值”对,你可以通过Page对象内置的ConfigurationSettings属性获得它们的值。作为开始,在你的项目中新建一个名为customItems.aspx的Web窗体,将下面的代码添加到该窗体的Page_Load事件中:

   Dim aKey As String

   Response.Write("

AppSettings

")

   For Each aKey In ConfigurationSettings.AppSettings.Keys

      Response.Output.WriteLine(aKey & "=" & _

         ConfigurationSettings.AppSettings.Item(aKey))

   Next

    编译运行customItems.aspx Web窗体,就能看到标记的值了。For循环检索了节中所有的标记,并将键及其对应的属性值显示出来。这种简单的“键/值”机制对于许多一般性需求来讲是完美的,比如在整个应用范围内存储数据库连接字符串,但对于更复杂的数据它却不是足够健壮。幸运的是,微软同样建立了创建自定义配置数据的机制,利用ASP.NET框架读取一个或多个节,而不是仅通过某一具体应用中的代码去读固定的标记列表。节定义了框架预期在Web.config文件其余部分发现的标记名称,同时声明了处理其特定类型内容的类的类型和位置。

在解析配置文件时,ASP.NET引擎通过读取元素的

标记建立起一个可能的标记列表,其中每一个
标记都包含了一个“name”和一个“type”,声明了在文件其余内容中预期的标记名称和相应的配置节处理程序。下面用一个小实验来演示一下整个工作过程。在项目中Web.comfig文件末尾的标记前边,添加一个新标记如下。

  

     

     

     

  

保存Web.config文件并运行项目,将会得到一个“无法识别的配置节‘customItems’”的错误,这个错误的发生是由于没有声明标记的节处理程序所致。但是如果浏览整个Web.config文件,你不会看到有任何一个标记的配置节处理程序声明,这就带来了一个问题,这些配置节处理程序究竟是在哪儿声明的?(在读这篇文章的时候,如果你同时按照上述步骤进行了操作,那么请在继续下去之前将标记从Web.config文件中删掉。)

事实上每一个Web应用程序都有两个配置文件:保存在系统文件夹下的根machine.config文件和在你应用程序根目录下的Web.config文件。你可以在操作系统文件夹下的\Microsoft.NET\Framework\\CONFIG文件夹里找到machine.config文件,其中对应于服务器上安装并被激活的.NET框架。machine.config文件中关于配置的设置适用于在服务器上的所有应用程序,除非被局部设置所重置。浏览整个machine.config文件,可以看到一个包含了一组

标记的标记,这些
标记声明了你能在Web.config文件中看到的那些默认标记的配置节处理程序。为了使这一过程更易于理解,可以更进一步将
标记分组放在标记中,其中分别存放一组相关的节标记。

我之所以引出machine.config文件,是因为有两种方法添加自定义标记:可以用任一种缺省的系统配置节处理程序来解析自定义标记内容,也可以创建你自己的配置节处理程序。

 

二、使用系统配置节处理程序解析自定义标记

    1.元素中创建一个新的

标记,如下:

       type="System.Configuration.NameValueSectionHandler,System, Version=1.0.3300.0,Culture=neutral,PublicKeyToken=b77a5c561934e089"

/>

作者提醒:VersionPublicKeyToken的值可能和你的.NET框架版本不同,要在系统中找出正确的值只需从任一个已存在的

元素中复制即可!

2.将新建的标记放在Web.config文件中的结束标记之前进行测试,例如:

  

     

     

        

     

  

3.保存Web.config文件,将如下高亮部分代码增加到customItems.aspx Web窗体中的Page_Load事件中:

   Dim aKey As String

   Response.Write("

AppSettings

")

   For Each aKey In ConfigurationSettings.AppSettings.Keys

      Response.Output.WriteLine(aKey & "=" & _

         ConfigurationSettings.AppSettings.Item(aKey))

   Next

   Response.Write("

CustomSystemItems

")

   For Each aKey In CType(ConfigurationSettings.GetConfig _

      ("customSystemItems"), _

      System.Collections.Specialized.Nam

[1] [2] [3] [4] [5]  下一页


[C语言系列]NET 中C#的switch语句的语法  [系统软件]托拽Explore中的文件到VB.net的窗口
[系统软件]Boost库在XP+Visual C++.net中的安装  [常用软件]新配色面板:Paint.Net3.0RC1官方下载
[常用软件]用内建的“Net Meeting”聊天  [VB.NET程序]Henry的VB.NET之旅(三)—共享成员
[VB.NET程序]Henry的VB.NET之旅(二)—构造与析构  [VB.NET程序]Henry的VB.NET之旅(一)—失踪的窗体
[VB.NET程序]在托盘上显示Balloon Tooltip(VB.NET)  [VB.NET程序]Henry手记-VB.NET中动态加载Treeview节点(二)
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台