摘要: 缓存使用条件: 1.访问量大 2.数据不经常更新 缓存缺点:容易产生【脏数据】--- 即:当用户第一次访问页面,读取数据库,并将数据存入缓存后,在该缓存失效前,其他访问都是读取缓存中的数据;但如果此期间数据库的数据发生改变,那么 缓存里保存的数据 和 数据库的数据就不一致了!这就是所谓的缓存脏数据。 解决问题:使用【缓存依赖】可以解决这个【脏数据】问题。即:启用依赖机制,此机制会负责监测物理数据(数据库/文本文件)是否发生改变,一旦发生改变则去缓存中删除对应的缓存(键值对)。Session和Cache相同点: 1.都是保存状态的机制 2.都存在服务器端 3.键值对Session和Cache的区 阅读全文
posted @ 2012-09-01 08:07 zxp19880910 阅读(198) 评论(0) 推荐(0) 编辑
摘要: ASP.NET中的状态(信息)保持方案: 客户端的状态保持方案:ViewState(隐藏域保存客户端单独使用的数据,只有当前页面可以使用) Cookies(保存客户端单独使用的数据,当前客户端任何页面都可以访问)控件状态、URL查询参数 服务端的状态保持方案:Session(会话)、Application、Caching(缓存)、DataBase(数据库) ------------------------------------------------- ViewState: ASP.NET 的 .aspx页面特有,页面级的; 就是在页面上的一个隐藏域中保存客户端单独使用的数据的一种方式; . 阅读全文
posted @ 2012-09-01 08:07 zxp19880910 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 1. aspx页面开始的<%@Page %> 称为指令集, 在编译的时候使用. 2. 前台页面与后台页面的继承关系 前台页面aspx --- 后台类aspx.cs ---Page类 -----实现了IHttpHandler接口, IHttpHandler包含ProcessRequest()方法. Control属性:控件的集合,页面上所有的代码(包括html)都以控件对象的方式存放在此集合中2.<<<aspx页面执行过程:>>>------------------------------------------------------------ 阅读全文
posted @ 2012-09-01 08:06 zxp19880910 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 1.b/s结构原理 2.asp.net内部原理 3.状态管理(cookie,session,viewstate)4.HttpContext 上下文对象里的Response属性,其实就相当于 是一个响应报文对象,可以通过它设置响应报文的内容. 比如: context.Response.ContentType="text/html", 就是设置响应报文头的Content-type值, 告诉浏览器,要将响应报文作为html解析处理5.响应的,浏览器发来的请求报文数据,就在HttpContext类的Request属性6.每次调用Response.Write("输出内容&q 阅读全文
posted @ 2012-09-01 08:06 zxp19880910 阅读(537) 评论(0) 推荐(0) 编辑
摘要: 1.无状态HTTP 通俗的讲:一个浏览者发出的请求都是由实现了IHttpHandler接口的对象 进行响应,由于下次访问不一定还是上次那个对象进行响应,上次响应完毕后的 对象可能已经被销毁了,(写在类变量的值早就不存在了) 因此不要将状态信息保存到类变量中2.无状态的根本原因: 浏览器和服务器使用Socket通信,都遵循HTTP协议,服务器将请求结果返回给浏览器后 会关闭当前Socket连接,而且服务器会在处理请求页面完毕后(也就是 将响应报文发送给浏览器后),销毁页面对象3.应用层面的原因是: 浏览器和服务器之间通信都遵守HTTP协议4.对网站造成的影响: 如果用户录入了一些信息,当跳转到下 阅读全文
posted @ 2012-09-01 08:05 zxp19880910 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 文件异步上传的原理: 建立在普通的文件上传的基础上 只不过将表单Form的提交的处理过程交给 一个隐藏的iframe框架去处理也就相当于C#中建立了一个线程 让这个线程 去处理想做的事情从而实现异步上传的效果1.图片文件异步上传 难点 如何从客户端获取 文件数据 iframe异步操作 异步对象不允许浏览器端的硬盘数据先设置一个<iframe id name></iframe> 然后在表单中 设置target属性 为 iframe的name值 通过iframe同时将文本框中的其他信息也同时发送到了服务器 包含文件选择框的上传表单的target属性设置到一个iframe的n 阅读全文
posted @ 2012-09-01 08:05 zxp19880910 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 1.使用进程外Session的缺点: 1.使用序列化和反序列化 2.因为要把Session数据发送给 状态服务程序或数据库, 所以存在发送数据时的资源消耗2.优点:存储的数据量大1.BeginRequest 开始处理请求 2.AuthenticateRequest 授权验证请求,获取用户授权信息 3.PostAuthenticateRequest 获取成功 4.AunthorizeRequest 授权,一般来检查用户是否获得权限 5.PostAuthorizeRequest 获得授权 6.ResolveRequestCache 获取页面缓存结果(如果没有则执行) 7.PostResolveRe 阅读全文
posted @ 2012-09-01 08:04 zxp19880910 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 母版页 MastePager iframe框架是在当前页面里再嵌套一个页面.1.子页面中的Page_Load()先执行 母版页的Page_Load()再执行 子页面继承Page类,而母版页没有继承Page类, 调用页面的 PR方法时会先执行子页面的PageLoad方法2.设置页面的命令行 Trace=true,开启生命周期跟踪模式 1.PerformPreInit();为当前页面对象进行预初始化处理,加载样式表(皮肤等) 2.InitRecursive(null);递归初始化操作,属于Control类的,递归当前控件树中每个控件 3.OnInitComplete(EventArgs.... 阅读全文
posted @ 2012-09-01 08:04 zxp19880910 阅读(216) 评论(0) 推荐(0) 编辑
摘要: ASP.NET 服务器控件 是ASP.NET对HTML控件的封装共有的属性;ClientID:控件在客户端的ID visible:控件是否可用 CssClass:控件的样式名 Attributes:用来设置获取控件的额外属性 ASP.Net会将服务端控件转成HTML代码输出给浏览器1.Literal控件: 也是展示一段文本,但是Literal控件不会渲染任何额外的标签, 就是将Text属性的值展示出来而已。 2.Label标签:Text属性为显示文本,AssociatedControlOD属性用来关联一个控件 如果为空的话,会展示为一个<span>标签,如果指定为一个控件id, 则 阅读全文
posted @ 2012-09-01 08:03 zxp19880910 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 3-25和26 多线程与服务器------ -------------------------------- 1.委托复习 2.文件流复习 真正输出缓存数据到硬盘的是 Flush()方法.3.多线程: 命名空间 System.Threading 多线程的目的: 1.让CPU主动执行不同的程序单元,这样就不至于被 某个程序的破坏性代码引起死机症状. 2.理想上能在"同时"做多个事情. 4.线程的Start()方法只是标记该线程可以运行了,具体的运行时间还是由CPU来决定5.网络通信socket IP与端口号: system.Net 套接字socket: system.Net. 阅读全文
posted @ 2012-09-01 08:03 zxp19880910 阅读(127) 评论(0) 推荐(0) 编辑
摘要: WebForm分为两个文件:aspx:是页面模板,页面描述文件,就是html+js+css的内容 aspx.cs1. aspx页面开始的<%@Page %> 称为指令集, 在编译的时候使用.2. 前台页面与后台页面的继承关系 前台页面aspx --- 后台类aspx.cs ---Page类 -----实现了IHttpHandler接口, IHttpHandler包含ProcessRequest()方法. Control属性:控件的集合,页面上所有的代码(包括html)都以控件对象的方式存放在此集合中2.<<<aspx页面执行过程:>>>----- 阅读全文
posted @ 2012-09-01 08:02 zxp19880910 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 1.aspx 和 cs 和 dll 之间的关系 网站运行时其实会编译成程序集dll aspx,aspx.cs页面会被编译成类 aspx前台页面类,继承自aspx.cs后台页面类, 所以在aspx中可以访问cs类中的非私有的成员2.查看当前所运行程序集的物理路径 Response.Write(this.GetType().Assembly.Location +"<br/>")3.Request.UrlReferrer 请求的来源 可以根据这个判断从百度搜的哪个关键词、防下载盗链、防图片盗链, 可以伪造(比如迅雷)。"本图片仅供如鹏网内部交流使用" 阅读全文
posted @ 2012-09-01 08:01 zxp19880910 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 一.错误页配置文件的设置:当页面发生错误的时候,ASP.Net会将错误信息展示出来(Sqlconnection的错误就能暴露连接字符串), 这样一来不好看,二来会泄露网站的内部实现信息,给网站带来安全隐患,因此需要定制错误页, 发生错误时显示开发人员定制的页面。404页面放点广告也是好的嘛。 配置web.config,配置customErrors区域: <customErrors mode="On" defaultRedirect="MyErrorPage.aspx"> <error statusCode="403" 阅读全文
posted @ 2012-09-01 08:01 zxp19880910 阅读(124) 评论(0) 推荐(0) 编辑
摘要: AJAX学习 --------------- 1.AJAX:(Asynchronous JavaScript and XML) 异步JavaScript和XML 指的是一种创建交互式网页应用的网页开发技术. 不是指一种单一的技术,而是有机的利用了一系列相关的技术. 简单理解为:JavaScript + XMLHttpRequest + CSS +服务器端 的集合.注意:1.Ajax异步对象请求aspx页面,返回数据后 要立即End()结束之后代码的输出 否则最后会输出Render()方法遍历控件树按照顺序生成最终的HTML代码(即输出前台HTML代码) 2.在回调函数onreadystate. 阅读全文
posted @ 2012-09-01 08:00 zxp19880910 阅读(121) 评论(0) 推荐(0) 编辑
摘要: Ajax 增删改查 :1.encodeURIComponent();字符串解码 当通过url传递参数值时,为了防止&字符打乱 参数的取值 需要使用encodeURIComponent()方法为参数值解码2.异步对象拿到的是整个响应报文(报文头与报文体)的信息 xhr.reaponseText : 获得的是响应报文体中的内容在使用事务的时候 必须先打开连接通道,再创建事务对象4-12-------------- jsonp 跨域访问: (异步对象禁止跨域访问,请求不到跨域页面的内容) 1.先在当前页面定义一个方法 function(){}; 2.接着通过<script src=&q 阅读全文
posted @ 2012-09-01 07:59 zxp19880910 阅读(108) 评论(0) 推荐(0) 编辑
摘要: "Get" 方式请求, 不需要再服务器获取信息的时候使用Get请求方式即可 <script type="text/javascript"> var xhr=false; // 声明一个全局的异步对象 window.onload=function(){ xhr=new XMLHttpRequest();//创建异步对象 xhr.open("get","请求页面",true);//设置请求参数( 请求方式 , 请求页面 ,是否采用异步对象 ) xhr.setRequestHeader("If-Mo 阅读全文
posted @ 2012-09-01 07:58 zxp19880910 阅读(132) 评论(0) 推荐(0) 编辑