ASP.NET的视频很早就看完了,但一直还没顾上总结。虽然在备战软考,学习任务很重,但是阶段的总结还是不要推太久了,不然也就起不到总结的效果了。在看视频之前,虽然已经做过了新闻发布系统,但是对B/S一些概念、名字并不十分了解。
应用程序有两种模式C/S、B/S。
C/S是客户端/服务器端程序,这类程序一般独立运行。而B/S就是浏览器端/服务器端应用程序,一般借助IE等浏览器来运行。Web应用程序首先是“应用程序”,和用标准的程序语言,如C、C++等编写出来的程序没有什么本质上的不同。然而Web应用程序又有自己独特的地方,就是它是基于Web的,而不是采用传统方法运行的。
因此,先对比一下两种应用程序:
1)客户端/服务器
客户端直接连接服务器,有很大的弊端。(升级问题)
受地域性限制较强,大用户更新比较麻烦。
2)Web应用程序
它是基于一种请求、应答的模式。
IIS,Internet Information Service,是微软内置在Windows网络操作系统中的文件和应用服务器,在每次页面运行和打包部署时都会用到它。
了解了web应用程序,接下来是asp.net。
英文全称:Active Server Pages ,运行于 IIS之中的程序 。当客户机发出请求时,动态创建和加载的,是带有动态内容的Web页。
一、常用内置对象
交互部分
1)Response
英文意思为回应、回答、响应,它的作用是输出,将动态生成的信息嵌入到HTML文档中,然后发送到客户端。类名为httpResponse,
常用方法有:
Write(),Redirect(),Buffer()等
注意:ASP.NET还提供了缓冲机制,将要输出到客户端的数据首先保存在服务器的缓存区域,当处理完整个Response响应后再一次性发给客户端,大大加快了访问和处理数据的速度。
protected void Page_Load(object sender, EventArgs e) { //Response实例 Response.Write("欢迎!"); //页面重定向,显示另一窗体 Response.Redirect("WebForm2.aspx"); //弹出对话框 Response.Write("<script language=javascript>alert('123')</script>"); }
2)Request
请求
它的作用是让服务器取得客户端浏览器的一些数据。其类名为HttpRequest。
常用属性:
QueryString 获取Http查询的字符串变量的集合。
protected void Page_Load(object sender, EventArgs e) { //Request实例 Response.Write("客户端浏览器版本:"+ HttpContext.Current.Request.Browser.Version ); Response.Write("客户端主机:" + HttpContext.Current.Request.UserHostAddress ); }
3)Server
提供对服务器上的方法和属性进行访问,类名为HttpServerUtility
常用方法:
MapPath(),Execute(),Transfer(),UrlEncode(),UrlDecode()等
//Server实例 string FilePath = Server.MapPath("WebForm1.aspx"); //输出E:\提高班\学习资料\8、三层架构\例子\TranTest\WebApplication1\WebApplication1\WebForm1.aspx Response.Write(FilePath);
状态反馈部分:
1)Application
它代表web应用程序的运行实例,一个Web站点可以包含不止一个Asp.net应用程序,而每个应用程序的运行实例都可以由一个Application对象来表达。
常用方法:
Lock(),UnLock() 为了避免同时进行操作而产生的冲突问题。
2)Session
会话,一个用户在一段时间内对某一个站点的一次访问。Session对象存储从用户开始访问页面到离开直接的会话。
它是有生命周期的,默认为20分钟,也可通过TimeOut属性来设置。当你登录账号访问网站时,过一段时间回去看的时候,他就会让你重新登录,这也就是Session已经过期了。
3)Cookies
Web服务器保存在用户硬盘上的一段文本,它是保存在客户机硬盘上的。
两种类型:会话Cookie(Session Cookie),一旦会话结束即不存在;持久Cookie,有确定的过期日期。
二、控件
ASP.NET视频中很多篇幅都在讲各种各样的控件,这些控件几乎都在新闻发布系统中实践过。比如一些验证控件、列表控件等。
控件,在学VB的时候就接触了。所以,并不是什么新鲜的东西。控件的一些属性也不需要去记,要动手去做例子,对一些常用控件要有一定的熟悉度。比如:GridView控件等。
三、扩展应用
这部分又回顾了ADO.NET的一些知识,Command,Connection对象等,以及一些数据绑定控件的使用。还介绍了Web服务的基础知识。
关于ADO部分的关系,可参看下图:
感受:
视频中很大部分都在讲控件,我们应该先把握好主线,有宏观的认识并注意和之前知识的结合。虽然老师对控件的讲解十分仔细,我们不用去记住控件的属性,而应该在实践中去熟悉那些常用控件。
由于一些控件的属性甚至控件的名字都与新版本不一样了,但也要学会自己去发现去动手实现类似的功能,这才是厉害之处!B/S的学习仍在继续,保持兴趣,就会有乐趣。