行者无疆
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.

TCP和UDP的区别:

TCP可靠, UDP不可靠

TCP性能低,UDP性能高

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

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

如ping命令就是UDP)

 

 

HTTP的get和post区别

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+)。

 

 

Override和Overhide的区别:

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 将创建并初始化核心对象,如 HttpContext、HttpRequest 和 HttpResponse。HttpContext类包含特定于当前应用程序请求的对象,如 HttpRequest 和 HttpResponse 对象。HttpRequest对象包含有关当前请求的信息,包括 Cookie 和浏览器信息。HttpResponse 对象包含发送到客户端的响应,包括所有呈现的输出和 Cookie。==》根据Global.asax创建HttpApplication ==>执行Application事件

 

 

ASP.NET状态管理

 

存储位置

类型

限制

大小

限制

适用

对象

使用

范围

过期

策略

安全性

Cookie

客户端Cookie文件夹

字符串

每个4K

单个用户

当前请求

上下文

绝对时

间过期

低

Session-InProc

客户端Cookie和Web服务器内存

任何

类型

受内存

限制

单个用户

当前请求

上下文

平滑时

间过期

比较高

Session-StateServer

客户端Cookie和

Windows服务所在服务器内存

可序列

化类型

受内存

限制

单个用户

当前请求

上下文

平滑时

间过期

比较高

Session-SqlServer

客户端Cookie和SQL 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也将失效。

·        URL。Cookie是否开启不影响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  衣不如新  阅读(178)  评论(0)    收藏  举报