申明:本文是学习2014版ASP.Net视频教程的学习笔记,仅供本人复习之用,也没有发布到博客园首页。

  (1)表单提交注意点:

    ①GET通过URL,POST通过报文体;

    ②需在HTML中为表单元素设置name;

    ③元素id是给Dom用的,name才是提交给服务器用的;

  (2)请求处理响应模型:

ASP.Net开发基础温故知新学习笔记

    ①浏览器发出访问请求→②服务器处理访问请求并返回HTML→③浏览器解析HTML并显示页面

  (3)GET与POST的区别(★★★→重点)

    ①GET通过URL传值,而POST通过HTTP报文;

    ②GET传递的数据量有限,POST则没有限制;

    ③POST方式无法通过URL在其他用户中还原;

    ④GET方式URL传特殊字符需要事先进行编码;

  (4)HTTP协议基本理解:

    ①连接(Connection):HTTP不保持连接(请求完成就关闭),如果保持连接会降低客户端并发处理请求数,不保持连接会降低处理速度(建立连接速度很慢);

    ②请求(Request):包含请求类型、请求的数据以及客户端信息等;

    ③响应(Response):包含具体HTML、响应是否成功以及错误码等;

二、模板引擎开发基础

  (1)传统模式的缺点:

    ①没有实现界面和逻辑的分离,美工无法介入;

    ②占位符替换不够灵活,无法进行复杂的替换;

  (2)NVelocity模板引擎:

    ①基本用法:编写模板→提供数据→渲染生成HTML

    ②扩展用法:include与parse的区别?

      →#include("head.htm")代表模板嵌套子模板;#parse("foot.htm")代表模板嵌套子模板,子模板可继承父模板中的参数;

    ③注意之处:

      NVelocity解析JQuery代码$.ajax中的$时把$当做NVelocity中的特殊符号,应对方法是使用jQuery.ajax代替$.ajax;

      如果要将DataTable传递给NVelocity时仅传递DataTable.Rows即可,因为Rows才是一个Collection(集合),可以使用foreach遍历;

      为了减少每次NVelocity解析模板的时间建议启用NVelocity缓存;

三、状态的传递与保持

  (1)经典的URL传递:

    ①优点:简单直接,明确发给谁,数据不会乱;

     ②缺点:无法保密,安全性不高

  (2)隐藏字段传递:

    ①会加大网站流量;

     ②会降低访问速度,想想ViewState

     ③机密数据无法保证安全性;

  (3)Cookie:(★★★→重点)

    ①基本概念:保存在浏览器端,每次向服务器提交请求时都会带上Cookie;服务器返回报文除了Html外还有更新后的Cookie;

     ②生命周期:如果没有设定Expires过期时间,那么关闭浏览器则终止Cookie;如果设定了Expires过期时间,则以过期时间为准作为失效时间;

     ③缺点限制:存储数据量有限,机密信息不能存在Cookie中;无法跨越不同的浏览器,例如:IE、Chorme、Firefox等;可以被清除,不要将不能丢失的数据存到Cookie;

  (4)Session:(★★★→重点)

     ①基本概念:服务器端的“Cookie”,类似于病历本;

     ②生命周期:Session具有自动销毁机制;

     ③使用注意:HttpHandler要使用Session需实现IRequiresSessionState接口;存放在服务器内存中,不要存放大数据;

ASP.Net开发基础温故知新学习笔记

    ④与Cookie的关系:Session在创建时会依赖于Cookie,实质是Cookie存储一个SessionID作为每次提交服务器请求访问的Key,Session通过这个Key找到具体的Value值;

ASP.Net开发基础温故知新学习笔记

  (5)Application:

    ①基本概念:应用全局对象,被全局共享;使用操作之前先加Lock,完成之后UnLock;一般放在Global.asax中的Application_Start事件中;

     ②使用注意:很多书举例使用Application统计访问人数会导致网站在大并发量下会很十分卡;建议做网站开发尽量不用Application,也很少需要有用到它的时候;

PS:很多书中都会这样使用Application,是不是很眼熟?在使用前加Lock,完成之后UnLock虽然是一个比较好的同步操作,但是也正因为如此,加Lock会造成在大并发量的访问情况下网站系统出现卡顿的现象。

 1     void Application_Start(object sender, EventArgs e)   
 2     {  
 3         // 在应用程序启动时运行的代码   
 4         Application["count"] = 0;//初始设置计数从0开始   
 5     }
 6 
 7     void Session_Start(object sender, EventArgs e)   
 8     {  
 9         // 在新会话启动时运行的代码   
10         Application.Lock();//同步,避免同时写入   
11         Application["count"]=(int)Application["count"]+1;//每建立一个会话该全局变量加1   
12         Application.UnLock();//同步结束   
13     }
View Code

相关文章: