ASP.NET简介
ASP.NET概念:ASP.NET是.NETFrameWork的一部分,是一项微软公司的技术,是一种嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术,它可以通过HTTP请求文档时再在web服务器上动态创建。
ASP英语全称为Active Server Pages(动态服务器页面),运行于IIS(Internet Information Server)服务,是Windows开发的web服务器之中的程序。
ASP.NET是一种脚本语言,是微软发展的新型体系结构.NET的一部分。
ASP的缺点:
- 仅俩种非类型语言:VBScript和javascript
- ASP页需要解释
- 代码,HTML和文本的混合
- 使用同一文件
- 额外的功能代码
- 代码不能重用
- 没有调试机制
- 先关闭web服务器才能安装新版本的DLL
ASP.NET的优点:
- 支持强类型语言,如C#,VB
- 编译页可以改进执行速度
- 提供声明性服务器控件
- ASP代码与HTML设计和文本分离
- 内置方法trace可以帮助调试页
- 通过继承机制支持代码的重用
- 无需注册组件
ASP.NET内置对象:
1、Request对象
request封装了客户端请求信息。request的常见属性如下:
2、Response对象
Response代表了服务器响应对象。每次客户端发出一个请求的时候,服务器就会用一个响应对象来处理这个请求,处理完这个请求之后,服务器就会销毁这个响应对象,以便继续接受其他客户端请求。
response常用属性:
response常用方法:
URL地址不区分大小写。网页的默认编码,请求对象的字符编码是UTF-8,而响应对象的编码为gb2312。这样极有可能产生乱码问题,所谓乱码,就是用一种编码的字符串却用了领一种编码来显示,造成不能正常显示的现象。常见的服务器响应的contentType是“text/html”,代码响应是以HTML文件传输的。
其他的形式的contentType:
image/jpeg:响应对象是jpeg图片
text/xml:响应对象是xml文件
text/javascript:响应对象是javascript
Response的contentType属性默认是“text/html”,表示服务器以HTML文件响应客户端请求,如果需要用其他方式响应客户端请求,则需要设置contentType属性。
3、Server对象
Server对象是用于获取服务器的相关信息的对象。常用方法如下:
4、Session对象
Session对象用来保存与特定用户相关的信息,Session中的数据保存在服务器端,在客户端需要时创建Session,在客户端不需要的时候销毁Session,使它不再占用服务器内存。
服务器并不管客户端是否依然存在,因而它也无法确定客户端什么时间不再使用它,但是如果在客户端不及时销毁Session的话,服务器很快就会内存不足。为了解决这个问题,给Session加了一个生命周期,当服务器发现session超过了它的生命周期,就会释放该session所占用的内存空间。
session具有以下特点:
session中的数据保存在服务器端
session中可以保存任意类型的数据
session默认的生命周期是20分钟,可以手动设置更长或更短的时间。
5、Cookie对象
Cookie对象和session对象一样也是用来保存特定的用户相关的数据,不过session不同的是cookie保存在客户端而不是服务器上,每次客户端发出请求的时候都会把cookie一起发送到服务器,服务器每次响应客户端请求的时候会重新把cookie发送到客户端保存。
Cookie保存数据有以下特点:
- 数据保存在客户端
- cookie中只能保存字符串类型的数据,如果需要在cookie中保存其他类型数据,需要将其转换成字符串类型后保存。
- cookie也有其默认的生命周期,也可以手动设置,最大可设置成50年之后过期。
同session的情况一样,有可能在一个网站中使用到的cookie不止一个,通过cookie的名称来区分不同的cookie。
设置 Cookie 的过程就是在服务器的响应对象 Response 的 Cookie 集合中增加一个 Cookie的实例,Response对象会把这个Cookie集合中的所有Cookie都发送客户端。代 码如下(仍以保存用户名为例): HttpCookie cookie = new HttpCookie("UserName", "zhoufoxcn"); Response.Cookies.Add(cookie);
6、Application对象
application和session存储的数据类型和存储位置一样,都是存放object类型的数据(即任意类型),并且存放在服务器上,不同的application中的数据可以由网站中所有的用户来设置或者获取。并且application中存放的数据没有时间限制,除非手动删除或者服务器重新启动,否则存放的数据都会丢失。
session,cookie和application的区别:
7、<%%>表达式
<%%>用来编写程序的代码部分。在其中可以声明变量和方法。在<%%>中编写的代码就是符合C#要求的代码。
<% string name = Request.Form["userName"].Trim(); string userName; if (Request.Cookies["UserName"] != null) { userName = Request.Cookies["UserName"].Value; }
%>
8、<%=%>表达式
<%=%>是用来向输出流中输出变量的值。
用法如下:
<% int i = 6; %>
<%=i %>