Asp.net-知识总结(5)
来源:互联网 发布:api接口程序源码 编辑:程序博客网 时间:2024/05/25 16:39
1.回顾:上篇学习了 一般处理程序 上传图片
2.asp.net控件,页面/控件缓存
(1).asp.net控件
大多数应用于后台操作和系统操作,在使用的时候,需要多加练习,多查,从而了解控件的属性和事件的使用。
(2).缓存机制
1。页面缓存和控件缓存的区别:
1.1页面缓存是保存的被请求页面对象执行后生成的html代码。
控件缓存是保存的数据源控件上次查询到的 数据集合(List<Classes>list)
来执行生成html代码了,而是直接从缓存里获上次生成的HTML代码
控件缓存一旦使用,那么不管缓存有没有失效,服务器都会为每个浏览器请求创建页面类对象并执行生成Html代码。只不过,在运行页面对象的过程中,当发现数据源控件已经缓存了上次查询的结果数据,就不再调用数据源绑定的方法来获得数据,而是直接从缓存中获上次查询的数据。
2.1绝对过期时间:是指定一个确切的时间点,过了,缓存就自动清空。
2.2相对过期时间:是指定一个确切的时间戳(如:15秒),那么页面在15秒内被任何一个浏览器访问,缓存失效时间都会更新回15秒并重新倒数计时。一旦15秒内没有任何访问,那么服务器就会清空该缓存。
(3)页面缓存的代码实现
1.在页面上加上一下代码
<%@ OutPutCache Duration=”15”(时间) VaryByParam=”none” (参数,当为id时就写id,很多的时候可以用* 代替)%>
2.服务器端代码实现缓存
想Sission/Cookie 类似,使用Catch 关键字
Cache[“key”]=value; Cache.add()
3.Session(外加),过滤器,全局文件,简单工厂模式
(1) 进程外Session
1) Session默认将数据保存在辅助进程中,但是在辅助进程(aspnet_wp.exe)中,不能存储大量的数据,如果存储的多的话,辅助进程将重启,保存的数据将丢失。
2) Session将数据保存在另一个进程中(aspnet_state.exe),这时需要在配置文件(web.config)中添加下面配置:
<system.web> <sessionState mode=”StateServer” stateConnectionString=”tcpip=xxxx(ip或者域名):42424”/></system.web>
注意这里端口必须为42424
3) 第三种是SqlServer: 既是将数据存储在了sqlServer中,则需要新建ASPState数据库使用运行Session数据库脚本:
临时存储区:installSqlStatesql &UninstateSqlState.sql
注意:之后配置数据库权限麻烦的话,可以在运行完aspnet_regsql.exe后再数据库中执行你想要使用的sql脚本,就可以不配置权限了。
(2).过滤器
新建一个类:继承IHttpModule 简单使用如下: public class FirsModule:IHttpModule { public void Init(HttpApplicationhttpApplication) { //为请求管道的第一个事件,也就是名为BeginRequest的事件注册一个用户定义的方法 httpApplication.BeginRequest +=MyBeginRequest; } protected void MyBeginRequest(objectsender, EventArgs e) { HttpContext contex = (sender asHttpApplication).Context; contex.Response.Write("哈哈哈哈哈"); } public void Dispose() { } }
(1) 全局应用类
全局应用类,添加的时候,必须是Global.asax,不能改变为其他的名称。
如下代码所示,调用的时候,需要那个写那个。
voidApplication_Start(object sender, EventArgs e) { // 在应用程序启动时运行的代码 } void Application_End(object sender,EventArgs e) { // 在应用程序关闭时运行的代码 } void Application_Error(object sender,EventArgs e) { // 在出现未处理的错误时运行的代码 } void Session_Start(object sender, EventArgs e) { // 在新会话启动时运行的代码 } void Session_End(object sender, EventArgs e) { // 在会话结束时运行的代码。 // 注意:只有在 Web.config 文件中的sessionstate 模式设置为 // InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer // 或SQLServer,则不引发该事件。 }
(4).简单工厂模式(相互“引用”如下)
表现层-业务层-工厂层-数据接口层-数据层-模型层
表现层添加:业务层,模型层
业务层添加:工厂层,接口层,模型层
工厂层添加:模型层,接口层,数据层
数据层:接口层,模型层
接口层:模型层
5.文本编辑器
Ckediter
Tqediter
:调用代码
<textarea name="content" cols="80" rows="16" id="content">
</textarea>
<script type="text/javascript">
newTQEditor("content");
</script>
- Asp.net-知识总结(5)
- Asp.net-知识总结(1)
- Asp.net-知识总结(2)
- Asp.net-知识总结(3)
- Asp.net-知识总结(4)
- Asp.net-知识总结(6)
- Asp.net-知识总结(7)
- asp.net零星知识总结
- ASP.NET知识点总结---技术性知识(2)
- ASP.NET知识点总结---技术性知识(1)
- ASP.NET知识点总结---概念性知识(2)
- ASP.NET的知识点总结--概念性知识(1)
- ASP.NET(MVC)三层架构知识的学习总结
- ASP.NET知识总结(1.网络传输层)
- ASP.NET知识总结(3.HTTP协议详解)
- ASP.NET知识总结(7.状体保持)
- ASP.NET知识总结(8.AJAX异步)
- ASP.NET MVC5 路由知识总结
- hdu5135 Little Zu Chongzhi's Triangles(DP)
- 经典数据结构和算法回顾
- java中的setActionCommand()方法
- leetcode Rotate Array 旋转数组
- 《演说之禅》笔记
- Asp.net-知识总结(5)
- 关于asp错误'C:\inetpub\wwwroot\bg\#databases#\seablog.mdb'不是一个有效的路径。
- 关于block
- HDFS 的Trash回收站功能的配置、使用
- linux_c开发(5-4)进程间通讯_共享内存通讯
- JSP+servlet生成验证码并验证
- JAVA基础一大堆0802拷贝文件流+网络连接
- 文本分块切割
- MO and MMO