 |
建站必读 |
 |
|
|
 |
|
 |
|
| |
| 当前位置:首页 -> 建站必读 -> ASP技术 |
|
蛙蛙学习asp.net总结(之一) |
认识Microsoft公司的Asp.net有一段时间了,感觉asp.net确实在功能方面和性能方面比asp有了很大的改进(之前,我一直在写asp程序),并总结了一些内容,这里和大家分享一下。由于笔者经验很少,所以文中有在技术上的错误或者需要改进的地方,欢迎和我交流。
由于个人比较喜欢使用C#语言,所以例子里大多都是用C#示例的,但是这里主要是阐述一些原理性的东西,所以没有过多的依赖于具体的语言,如果你比较偏向于VB可以参考下面这篇文章来暂时转换一下自己的思想:
代码换肤术——C#和VB
http://blog.csdn.net/onlytiancai/archive/2004/07/16/43137.aspx
vb.net和c#语法比较
http://blog.csdn.net/onlytiancai/archive/2004/07/16/43134.aspx
我想从以下几方面谈谈我的体会,主要想写一下从安全和性能方面考虑的一些抉择问题
1.web用户控件,web自定义控件,后台编码类,.net组件的使用场合:
2.缓存(CACHE和APPLICATION)的使用场合:
3.web服务和组件类的使用场合:
4.vb.net和C#的使用场合:
5.DataReader和DataSet的使用场合:
6.数据库和xml数据的使用场合:
7.字符串连接符和stringBuilder的使用场合.
8.基于windows和基于form身份验证的使用场合.
9.静态方法和非静态方法的使用.
10.HTML控件和服务器控件的使用场合.
11.客户端技术技术和服务端技术的使用场合.
12.DTD和Schema的使用场合
13.字符串处理函数和正则表达式的使用场合.
14.web服务的同步条用和异补调用的使用场合
15.实例化类和继承类的使用场合
16.单值绑定和多值绑定的使用场合
1. web用户控件,web自定义控件(自定义服务器控件),后台编码类,.net组件(程序集)的使用场合:
这几种技术都是用来复用代码的,但是使用的场合有所不同,下面我会尽力说明它们各自之间的不同以及之间的联系。
先来看一下web用户控件和web自定义控件的特点:
Web用户控件
Web自定义控件
web用户控件容易创建,
web自定义控件难于创建,
只能为使用可视化设计工具的使用者提供有限的支持
为使用者提供完全的可视化设计工具支持
每个应用程序中需要控件的一个单独副本
仅在全局程序集缓存中需要控件的单个副本
不能添加到Visual Studio 中的工具箱
可以添加到 Visual Studio 中的工具箱
适用于静态布局
,适用于动态布局.
综上可以看出,web用户控件适用于:
1.页面上复用的元素,如标题,产品目录,菜单,注册控件等。
2.利用用户控件的高速缓存功能,高速缓存常常浏览的页面,可以提高页面的性能。
3.把重复的页面元素封装到用户控件里,减少了每个页面上的代码量
但是,如果要创建一个比自己所在的应用程序更广泛的复用的控件时候,就需要考虑使用web自定义控件了.
如果你安装有MSDN,关于使用web用户控件和web自定义控件的建议可以参考下面的链接。
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/vbcon/html/vbconwebusercontrolsvscustomwebcontrols.htm
举个例子来说明怎样建立用户控件:
Hello, 我是蛙蛙
把上面的代码保存为wawaUC.ascx这个用户控件就建好了。(调用用户控件的时候需要指定这个地址)
下面举个例子来说明怎样缓存用户控件。编写好控件后在.ascx文件的最上面加上下面一句就可以实现控件的高速缓存(碎片缓存)了。
把用户经常访问但不经常更新的数据做成用户控件并高速缓存起来,而一些实时的信息不要缓存,这样就可以提高页面整体的性能,而不至于让一些实时的信息不能及时的更新。
简单解释一下OutputCache的几个参数,这个标记在.aspx和.ascx中都可以使用
OutputCache:使用高速缓存。
Duration:指定高速缓存内容的时间,单位时秒
Location: 设置为Server时只在服务器使用缓存,设置为Downstream时中间的网络代理也可以高速缓存页面的副本,设置为Client表示浏览器可以高速缓存页面,设置为Any时表示这些高速缓存都可以使用
VaryByControl:允许高速缓存页面上的控件,这个标志时在.aspx页上使用的。
VaryByParam:根据POST传递参数来形成不同版本的缓存,想在任何时候都高速缓存整个页面可以把值设置为none,如果希望所有的参数使用不同版本的缓存可以把参数设置为*。
VaryByCustom:根据不同版本的浏览器形成不同版本的缓存,或者用指定的字符串来形成不同版本的缓存,设置为browser就可以为不同版本的浏览器使用不同版本的缓存,这在不同的浏览器或设备上显示数据是很有用。
VaryByHeader:根据不同的http头形成不同的缓存o |
| |
|
| |
本站关键词: |
|
|
|
|
 |
|
 |
|