行者无疆
When I was young , I used to think that money was the most important thing in life , now I am old , I know it is.

TCPUDP的区别:

TCP可靠, UDP不可靠

TCP性能低,UDP性能高

TCP协议能为应用程序提供可靠的通信连接,使一台计算机发出的字节流无差错地发往网络上的其他计算机,对可靠性要求高的数据通信系统往往使用TCP协议传输数据。发之前要求建立连接,俗称三次握手。

UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境。(发送前不要求建立连接,

ping命令就是UDP

 

 

HTTPgetpost区别

GET 方法提交数据不安全,没有body部分的,如果要传递给服务器信息,都在URL中,客户端地址栏可见;GET 方法提交的数据大小限制在255 个字符之内

POST 方法提交数据安全,数据置于消息主体内,客户端不可见,POST方法提交的数据大小没有限制

 

 

jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTML documents

events、 它是轻量级的js(压缩后只有21k) ,还兼容各种浏览器 IE 6.0+, FF 1.5+,

Safari 2.0+, Opera 9.0+)。

 

 

OverrideOverhide的区别:

Override是虚函数在子类的实现,是多态。 Overhide是函数名相同,但是具有不通的参数,

包括参数个数,类型,顺序。

 

 

服务器端控件生命周期:服务器控件生命周期所要经历的11个阶段。

 

阶段

控件需要执行的操作

要重写的方法或事件

初始化

初始化在传入 Web请求生命周期内所需的设置。

Init事件(OnInit方法)

加载视图状态

在此阶段结束时,就会自动填充控件的 ViewState属性,控件可以重写 LoadViewState方法的默认实现,以自定义状态还原。

LoadViewState方法

处理回发数据

处理传入窗体数据,并相应地更新属性。
注意:只有处理回发数据的控件参与此阶段。

LoadPostData方法(如果已实现 IPostBackDataHandler

加载

执行所有请求共有的操作,如设置数据库查询。此时,树中的服务器控件已创建并初始化、状态已还原并且窗体控件反映了客户端的数据。

Load事件(OnLoad方法)

发送回发更改通知

引发更改事件以响应当前和以前回发之间的状态更改。
注意:只有引发回发更改事件的控件参与此阶段。 

RaisePostDataChangedEvent方法(如果已实现 IPostBackDataHandler

处理回发事件

处理引起回发的客户端事件,并在服务器上引发相应的事件。 
注意:只有处理回发事件的控件参与此阶段。

RaisePostBackEvent方法(如果已实现 IPostBackEventHandler

预呈现

在呈现输出之前执行任何更新。可以保存在预呈现阶段对控件状态所做的更改,而在呈现阶段所对的更改则会丢失。

PreRender事件(OnPreRender方法)

保存状态

在此阶段后,自动将控件的 ViewState属性保持到字符串对象中。此字符串对象被发送到客户端并作为隐藏变量发送回来。为了提高效率,控件可以重写 SaveViewState方法以修改 ViewState属性。

SaveViewState方法

呈现

生成呈现给客户端的输出。

Render方法

处置

执行销毁控件前的所有最终清理操作。在此阶段必须释放对昂贵资源的引用,如数据库链接。

Dispose方法

卸载

执行销毁控件前的所有最终清理操作。控件作者通常在 Dispose中执行清除,而不处理此事件。 

UnLoad事件(On UnLoad方法)

asp.net 应用程序生命周期:

 

用户请求==》IIS监听到请求==》根据请求文件的扩展名确定ISAPI扩展==》将请求传递个ISAPI扩展(对asp.net来说,扩展就是aspnet_isapi.dll==>启动ApplicationManager 的类会创建一个应用程序域=》创建宿主环境==》ASP.NET 将创建并初始化核心对象,如 HttpContextHttpRequest  HttpResponseHttpContext类包含特定于当前应用程序请求的对象,如 HttpRequest  HttpResponse 对象。HttpRequest对象包含有关当前请求的信息,包括 Cookie 和浏览器信息。HttpResponse 对象包含发送到客户端的响应,包括所有呈现的输出和 Cookie。==》根据Global.asax创建HttpApplication ==>执行Application事件

 

 

ASP.NET状态管理

 

存储位置

类型

限制

大小

限制

适用

对象

使用

范围

过期

策略

安全性

Cookie

客户端Cookie文件夹

字符串

每个4K

单个用户

当前请求

上下文

绝对时

间过期

Session-InProc

客户端CookieWeb服务器内存

任何

类型

受内存

限制

单个用户

当前请求

上下文

平滑时

间过期

比较高

Session-StateServer

客户端Cookie

Windows服务所在服务器内存

可序列

化类型

受内存

限制

单个用户

当前请求

上下文

平滑时

间过期

比较高

Session-SqlServer

客户端CookieSQL Server服务器硬盘

可序列

化类型

受数据

库限制

单个用户

当前请求

上下文

平滑时

间过期

比较高

Application

Web服务器内存

任何

类型

受内存

限制

所有用户

当前请求

上下文

应用程

序结束

则无效

Cache

Web服务器内存

任何

类型

受内存

限制

所有用户

当前请求

上下文

平滑时间

过期、绝

对时间过

期、依赖

过期

ViewState

页面隐藏域

可序列

化类型

受表单

提交大

小限制

单个用户

当前页面

页面关

闭则无

比较低

Profile

客户端Cookie和数据库

可序列

化类型

受数据

库限制

单个用户

当前请求

上下文

Cookie

过期时

间或者长

期存在

比较高

Querystring

页面URL

字符串

不超过

2K

单个用户

当前页面

页面关闭

则无效

 

Session解释

Session对于每一个客户端(或者说浏览器实例)是人手一份,用户首次与Web服务器建立连接的时候,服务器会给用户分发一个 SessionID作为标识。SessionID是一个由24个字符组成的随机字符串。用户每次提交页面,浏览器都会把这个SessionID包含在 HTTP头中提交给Web服务器,这样Web服务器就能区分当前请求页面的是哪一个客户端。那么,ASP.NET 2.0提供了哪些存储SessionID的模式呢:

·        Cookie(默认)。如果客户端禁止了Cookie的使用,Session也将失效。

·        URLCookie是否开启不影响Session使用,缺点是不能再使用绝对链接了。

三种模式的Session比较

 

InProc

StateServer

SQLServer

存储物理位置

IIS进程(内存)

Windows服务进程(内存)

SQLServer数据库(磁盘)

存储类型限制

无限制

可以序列化的类型

可以序列化的类型

存储大小限制

无限制

使用范围

当前请求上下文,对于每个用户独立

生命周期

第一次访问网站的时候创建Session超时后销毁

优点

性能比较高

Session不依赖Web服务器,不容易丢失

缺点

容易丢失

序列化与反序列化消耗CPU资源

序列化与反序列化消耗CPU资源,从磁盘读取Session比较慢

使用原则

不要存放大量数据

 

           

 

 

 

 

 

 

 

JQuery例子:

.精准简单的选择对象(dom)

 

$('#element');// 相当于document.getElementById("element")

 

$('.element');//Class

$('p');//html标签

$("form > input");//子对象

$("div,span,p.myClass");//同时选择多种对象

$("tr:odd").css("background-color", "#bbbbff");//表格的隔行背景

$(":input");//表单对象

$("input[name='newsletter']");//特定的表单对象

 

2.对象函数的应用简单和不限制:

 

element.function(par)

 

$(”p.surprise”).addClass(”ohmy”).show(”slow”)...

 

3.对已选择对象的操作(包括样式):

 

$("#element").addClass("selected");//给对象添加样式

$('#element').css({ "background-color":"yellow", "font-weight":"bolder" });//改变

 

对象样式

$("p").text("Some new text.");//改变对象文本

$("img").attr({ src: "test.jpg", alt: "Test Image" });//改变对象文本

$("p").add("span");//给对象增加标签

$("p").find("span");//查找对象内部的对应元素

$("p").parent();//对象的父级元素

$("p").append("<b>Hello</b>");//给对象添加内容

 

4.支持aJax,支持文件格式:xml/html/script/json/jsonp

 

$("#feeds").load("feeds.html");//相应区域导入静态页内容

$("#feeds").load("feeds.php", {limit: 25}, function(){alert("The last 25 entries

 

in the feed have been loaded");});//导入动态内容

 

4.对事件的支持:

 

$("p").hover(function () {

      $(this).addClass("hilite");//鼠标放上去时

    }, function () {

      $(this).removeClass("hilite");//移开鼠标

    });//鼠标放上去和移开的不同效果(自动循环所有p对象)

 

5.动画:

 

$("p").show("slow");//隐藏对象(慢速渐变)

$("#go").click(function(){

$("#block").animate({

    width: "90%",

    height: "100%",

    fontSize: "10em"

}, 1000 );

});//鼠标点击后宽、高、字体的动态变化

 

6.扩展:

 

$.fn.background = function(bg){

    return this.css('background', bg);

};

$(#element).background("red");

posted on 2012-07-13 14:34  衣不如新  阅读(169)  评论(0)    收藏  举报