当前位置导航:炫浪网>>网络学院>>网页制作>>ASP.NET教程

体验ASP.NET 2.0中的BuildProvider

ASP.NET 2.0的及时编译模型和ASP.NET 1.1是不一样的,微软重新设计了ASP.NET 2.0的页面生成过程,使这个过程可以更灵活的被控制。

    具体的过程我这里就不再重复的写了,大家可以参看底下两篇文章:
    《Inside ASP.NET 2.0-即时编译系统》
    《Jaw-dropping experience with custom build providers》

    在ASP.NET 2.0中我们可以通过实现自己的BuildProvider来实现编译特殊文件的效果。文件的内容是没有限定的,只要你能在BuildProvider中解析文件,并返回.NET的CodeDom就可以。所以,你甚至可以用自己的编程语言开发ASP.NET程序。
    其实ASP.NET 2.0中的一些新特性就是通过BuildProvider实现的,比如.ashx文件,MastPage等,你可以从.NET安装目录下的CONFIG文件夹中的web.config中找到这些默认的BuildProvider配置。

    下午简单做了个试验,通过自定义的xml格式配置文件生成实体类的代码。只要在App_Code目录下放如下格式的.dbconfig文件,ASP.NET就会通过自定义的BuildProvider生成一个实体类的程序集,你还能从代码编辑器的智能感知中看到这个程序集的类,是不是很酷 :)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?xmlversion="1.0"encoding="utf-8"?>
<Databaseconnection="">
  <Tables>
 
    <Tablename="Members">
      <Columns>
        <Columnname="ID"type="Integer"/>
        <Columnname="Name"type="VarChar"/>
        <Columnname="Email"type="VarChar"/>
      </Columns>
    </Table>
 
    <Tablename="WorkItems">
      <Columns>
        <Columnname="ID"type="Integer"/>
        <Columnname="Subject"type="VarChar"/>
        <Columnname="Remark"type="VarChar"/>
        <Columnname="Created_On"type="DateTime"/>
      </Columns>
    </Table>
 
  </Tables>
</Database>

    通过上面配置文件生成的程序集在编辑器中职能感知的效果:

    3.PNG

    4.PNG

    要实现以上效果还要在Web.config文件中的system.web节加上这段配置,

共2页 首页 上一页 1 2 下一页 尾页 跳转到
相关内容
赞助商链接