ASP.NET皮肤机制的实现
2010-11-01 08:17:39 来源:WEB开发网这个方法的最终效果对于用户来说,和第二种方法应该是差不多的,优点就是性能比较高,而且还能直接使用.CS代码里面的变量方法ETC…另外,也可以不会有<%%>代码块的存在,可以存在自己的模板语言,如同第二种方法的$Subject, <!—Loop-->标识符一般。
优点:几乎不影响性能,只有第一次读取生成.ASPX文件需要损失性能。灵活性极高。模板代码可读性也可以实现到很高。
缺点:启动时需要读取分析时间(不过,这应该算是小问题),另外,有一套皮肤,它就要生成与之对应的一套.ASPX文件(当然这个可以解决)。
7. 利用ASP.NET2.0开始才拥有的VirtualPathProvider来实现。
虚拟文件机制。这个,应该算是第六种方法的加强版。最终的效果,和第六种差不多,只是不会生成那些.ASPX文件而已,取而代之的,便是长驻在内存中。
实现:实现两个类,一个继承至VirtualPathProvider,一个继承至SkinFile。VirtualPathProvider里有个FileExists方法,重写成判断请求的路径是否是皮肤文件路径,如果是,GetFile就实例一个SkinFile(这一个SkinFile,我们会对模板进行处理,可以拥有自己的模板语言)。另外有一个GetCacheDependency方法,可以来将模板文件作为虚拟文件机制的缓存依赖文件,一旦模板文件被修改了,它就会再重新解析模板文件。这里先不作赘述,具体的,查看MSDN的相关文档,具可了解。
优点:与6相同。
缺点:第一次启动需要损失性能(但这也不可避免)。
8. 还有更多的实现方法,还没用过,个人先不发表观点,比如:使用BuildProvider,但这一个,需要有比较强的词法分析与语法分析能力
Tags:ASP.NETl皮肤机制
编辑录入:爽爽 [复制链接] [打 印]- ››ASP.NET及JS中的cookie基本用法
- ››ASP.NET获取MS SQL Server安装实例
- ››asp.net实现调用百度pai 在线翻译英文转中文
- ››ASP.NET页面选项进行提示判断
- ››Asp.net定时执行程序
- ››ASP.NET中利用DataList实现图片无缝滚动
- ››ASP.NET验证控件RequiredFieldValidator
- ››ASP.NET中使用System.Net.Mail发邮件
- ››ASP.NET中获取用户控件中控件的ID
- ››ASP.NET中FileBytes写成文件并存档
- ››asp获取毫秒数
- ››asp.net报“INSERT INTO 语句的语法错误解决
更多精彩
赞助商链接