asp.net的CodeDom
2007-12-20 00:42 buru 阅读(223) 评论(0) 收藏 举报
asp.net2.0的编译模型很灵活,可以用自定义的BuildProvider解析特定的文件编译。
像asp.net里的master页面,.ashx,.ascx 以及.aspx的页面都由特定的buildprovider解析;
晚上自己试验了一下,做了个ORM映射的demo;
在网站的App_Code 下添加个文件demo.dbconfig(扩展名任意)是xml格式的
Code
自己建个类继承System.Web.BuildProvider来解析这个文件,让asp.net 知道怎么生成一个类。
生成的类是用表的字段名作为属性.
Code
网站添加这个BuilProvider引用,还要在webconfig里添加这个配置。
<system.web>
<compilation debug="true">
<buildProviders >
<add extension=".dbconfig" type="Samples.OrmBuildProvider,MyBuilder"/>
</buildProviders>
</compilation>
<authentication mode="Windows" />

</system.web>
完了之后,
在asp.net临时文件夹下生成的.cs文件为
还能被VS智能感知到 ,很cool吧。

调试的时候发现动态编译时查询了两次数据库。
源码下载(vs2008下打开)
像asp.net里的master页面,.ashx,.ascx 以及.aspx的页面都由特定的buildprovider解析;
晚上自己试验了一下,做了个ORM映射的demo;
在网站的App_Code 下添加个文件demo.dbconfig(扩展名任意)是xml格式的
生成的类是用表的字段名作为属性.
<system.web>
<compilation debug="true">
<buildProviders >
<add extension=".dbconfig" type="Samples.OrmBuildProvider,MyBuilder"/>
</buildProviders>
</compilation>
<authentication mode="Windows" />

</system.web>完了之后,
在asp.net临时文件夹下生成的.cs文件为
还能被VS智能感知到 ,很cool吧。

调试的时候发现动态编译时查询了两次数据库。
源码下载(vs2008下打开)




}
}
浙公网安备 33010602011771号