打印本文 打印本文 关闭窗口 关闭窗口
在ASP.NET中创建自定义配置节(翻译)
作者:武汉SEO闵涛  文章来源:敏韬网  点击数3190  更新时间:2009/4/23 10:47:18  文章录入:mintao  责任编辑:mintao
eValueCollection).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.Configuration.NameValueSectionHandler,

         System, Version=1.0.3300.0, Culture=neutral,

         PublicKeyToken=b77a5c561934e089"/>

     

     

  

5.为了能够看到变化,在web.config文件中的节再附加一个标记。

  

     

     

        

        

     

  

保存web.config文件并再次运行customItems.aspx Web窗体,可以看到有两个值而不再只是一个。无需重新编译应用程序即可完成测试,ASP.NET能够立即应用新的配置。

使用这种方式可以定义任意数量的自定义标记。然而,使用普通的标记,以及“key”和“value”这种固定的属性名称,总显得不是特别直观。从可维护性方面考虑,创建可以同时控制标记和属性名称的自定义标记会更有效一些。

 

三、定义解析自定义标记的自定义配置节处理程序

假定需要定义一系列文章,每一篇都有一个标题,一个URL,没有或有多个作者,那么如下所示的标记结构就会比泛泛的更容易维护:

  

     

         url="http://www.somewhere.com/article1.aspx">

        

            Russell Jones

        

     

     

         url="http://www.somewhere.com/article2.aspx" />

        

            Russell Jones

            Barry Jones

        

     

  

增加标记及其内容(即上边的XML段)到Web.config文件末尾的标记之前并保存。

作者提醒:先不要运行这个项目,否则会因为还没有为节定义配置节处理程序而出错!

为了能够从配置文件中识别标记,必须创建相应的自定义配置节处理程序。创建自定义配置节处理程序并不难,但需要一个单独的项目。这是因为配置节处理程序执行机制会根据程序的名称来搜索exe文件或dll文件。我将会带领大家用VB.NET来演示整个过程,而在本文源代码下载中也包括功能完全相同的C#项目(译者注:作者提供的本文相关源码下载地址是http://www.devx.com/assets/sourcecode/6600.zip)。

新建一个类库项目并命名为CustomItemHandler,删除VS默认生成的类而在项目中添加一个名为CustomTagHandler的新类。自定义配置节处理程序必须实现IconfigurationSectionHandler接口,这个接口只有一个名为Create的方法,该方法接受三个参数:一个名为parentobject变量,一个HttpConfigurationContext对象变量,一个名为sectionXmlNode变量。

   Imports System

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

打印本文 打印本文 关闭窗口 关闭窗口