仓酷云

标题: ASP编程:蛙蛙进修asp.net总结(之一) [打印本页]

作者: 飘灵儿    时间: 2015-1-16 23:35
标题: ASP编程:蛙蛙进修asp.net总结(之一)
因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。还无法完全实现一些企业级的功能:完全的集群、负载均横。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自界说控件难于创立,

只能为利用可视化计划工具的利用者供应无限的撑持
为利用者供应完整的可视化计划工具撑持

每一个使用程序中必要控件的一个独自正本
仅在全局程序集缓存中必要控件的单个正本

不克不及增加到VisualStudio中的工具箱
能够增加到VisualStudio中的工具箱

合用于静态结构
,合用于静态结构.






综上能够看出,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头构成分歧的缓存。

自界说服务器控件能够在分歧的使用程序之间重用代码,你能够重新入手下手用html来创建自界说控件,也能够在现有的服务器控件创建自界说控件(一样平常把如许的控件称做分解控件)。举个例子来讲明如何创建自界说服务器控件:

usingSystem;

usingSystem.Web.UI;



namespacewawaControls

{

publicclasshelloControl:Control

{

protectedoverridevoidRender(HtmlTextWriterwriter)

{

writer.Write(“

hello,蛙蛙
”);

}

}

}

从中能够看出,自界说的用户控件承继自System.Web.UI.Control,偏重写了Control类的Render办法来改动了Control类的默许输入,然后用HtmlTextWriter控件又能够输入恣意的Html代码和剧本代码,如许以来恣意庞大的自界说控件了。

把下面的代码保留为MyCustomControl.cs

写好代码后必要编译成.dll文件,用.net框架自带的CSC命令工具来完成,先写个批处置文件,以下:

Setassemblies=System.dll,System.Web.dll

csc/t:library/out:MyCustomControl.dllMyCustomControl.cs/r:%assemblies%

pause

复杂先容一下csc命令的利用参数:

/t暗示输入范例,这里用library,暗示输入为.dll文件,别的还能够是exe(把持台程序),winexe(windwos程序)等,/out暗示你要输入的文件名,紧跟厥后的是你要编译的文件名,/r暗示你必要把那些文件编译进到要天生的文件中,这里是用set命令先把System.dll,System.Web.dll界说了一个变量然间接利用的,最初用一个pause命令停息输入。注重,set和pause是体系的把持台(cmd)命令,它源自与陈旧的DOS。把下面的代码保留为一个.bat批处置文件,双机运转就能够天生.dll文件了,最初把这个文件放进bin目次备用。

在利用用户控件和自界说控件时,有些分歧。

用户控件挪用示比方下:起首在必要挪用控件的开首输出上面的代码。


然后在符合的地位用相似上面的代码来挪用:


注重下面的代码要放在服务器控件Form容器里。

复杂先容一下Register的各个参数的申明。

TagPrefix:控件组的汇合名,就是挪用控件是冒号后面的部分

TagName:控件的称号,就是挪用控件是冒号前面的部分

Src:控件的源文件地点

Namespace:控件的定名控件(用于服务器控件)

Assembly:控件汇合(用户服务器控件)

自界说控件挪用示比方下:起首在必要挪用控件的开首输出上面的代码。


然后在符合的地位用相似上面的代码来挪用:


关于创立用户控件的具体办法能够参考上面地点:

ms-help://MS</p>缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。
作者: 小妖女    时间: 2015-1-20 10:09
以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。
作者: 再见西城    时间: 2015-1-23 12:58
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
作者: 谁可相欹    时间: 2015-1-24 11:24
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
作者: 透明    时间: 2015-2-1 07:18
虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
作者: 分手快乐    时间: 2015-2-7 01:30
Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
作者: 飘灵儿    时间: 2015-2-19 08:59
不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍
作者: admin    时间: 2015-3-6 14:24
如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:
作者: 愤怒的大鸟    时间: 2015-3-13 02:08
我想问如何掌握学习节奏(先学什么再学什么)最好详细点?
作者: 老尸    时间: 2015-3-13 02:08
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
作者: 小魔女    时间: 2015-3-20 09:30
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2