第4部分诊断与插件

刚開始看这章的时候,真实一头雾水。不知道在讲什么。只是看了关于http pipeline之后。才了解相关说明。

因此对于这一章的学习,建议各位首先看看http pipeline然后再进行学习。

第17章诊断与调測

该部分解说了主要的调试方法,只是个人觉得调測方法事实上涉及到非常多方面的内容,这章也仅仅是大概介绍几个主要的方法。

l  在页面启动 trace功能,然后在页面上就能够看到调用状态了。

l  除此以外,还能够改动web.configtrace enable=“true”实现整个系统的trace跟踪功能。

l  使用trace.write项trace.xsd界面写入详细的调測信息

l  Visual studio的单步调測功能和断电调測功能。

还有一个最重要的部分是页面错误的处理方式,当发生页面错误时。能够令系统跳转到详细的错误页面,这样比較好的提供用户感受。

详细方法:

l  在web.config其中改动customeerror字段。然后添加错误过滤规则及跳转页面的页面,这样在发生特定错误之后,就会跳转到详细页面。

l  在Applicaton_error中能够截获错误,然后重定向跳转页面或者写入日志等等

第18章 HTTPAPPLICATION和HTTP 模块

这章其中解说的时候。没有补充一些基础的知识,使得理解起来有一些困惑,在这里我先补充一些知识,然后再深入下去。

对象:

HTTPAPPLICATION   : 全局对象,用于确定一个应用程序包括了那些HTTPMODULES,而且用于触发APPLICATION_START类事件。

HTTPCONTEXT:包括完整的请求上下文,通常使用current属性

HTTPRESPONSE:对response进行包装

HTTPREQUEST:对request进行包装

状态:

SESSIONSTATE  : 会话状态

APPLICATIONSTATE : 应用程序级别状态

CACHESTATE : 缓存状态

这个部分也是在讲IIS处理http请求的pipeline。基本流程例如以下:

IIS获得请求之后,首先会载入和处理一系列的进程,然后处理各个httpmodule,然后终于在httphandler进行相应文件的处理。

Httpmodule的本质,就是在APPLICATION的不同事件阶段。进行不同的处理,比方验证,计算,改变等等。

HTTPmodule的编写,很easy。仅仅是须要集成IHTTPMODULE接口就能够了,注意是编写一个类库程序,然后再web.config其中注冊,一个主要的HTTPMODULE就完毕了。

Session接口,能够有一个接口。这样HTTPmodule中就能够使用session处理了。

第19章 HTTPHANDLER处理

实际上httphandler就是来处理请求页面的,也就说一个文件,比方aspx就应该有相应的handler进行处理。

实现方法是:继承IHTTPHandler接口就可以,然后改动web.config进行配置,或者在IIS中配置。

为了简单visualstudio还提供了一个ashx的一般处理程序的文件,提供了很easy的处理模式。这个处理模式是须要客户在浏览器其中直接訪问就能够了。

《ASP.NET4 从入门到精通》学习笔记4的更多相关文章

  1. 《Qt Quick 4小时入门》学习笔记4

    http://edu.csdn.net/course/detail/1042/14806?auto_start=1 Qt Quick 4小时入门 第七章:处理鼠标与键盘事件 1.处理鼠标事件 鼠标信号 ...

  2. 《Qt Quick 4小时入门》学习笔记3

    http://edu.csdn.net/course/detail/1042/14807?auto_start=1 Qt Quick 4小时入门 第八章:Qt Quick中的锚(anchors)布局 ...

  3. 《Qt Quick 4小时入门》学习笔记2

    http://edu.csdn.net/course/detail/1042/14805?auto_start=1   Qt Quick 4小时入门 第五章:Qt Quick基本界面元素介绍   1. ...

  4. 《Qt Quick 4小时入门》学习笔记

    http://edu.csdn.net/course/detail/1042/14804?auto_start=1   Qt Quick 4小时入门 第五章:Qt Quick里的信号与槽   QML中 ...

  5. PyQt4入门学习笔记(三)

    # PyQt4入门学习笔记(三) PyQt4内的布局 布局方式是我们控制我们的GUI页面内各个控件的排放位置的.我们可以通过两种基本方式来控制: 1.绝对位置 2.layout类 绝对位置 这种方式要 ...

  6. Hadoop入门学习笔记---part4

    紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操 ...

  7. Hadoop入门学习笔记---part3

    2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hado ...

  8. PyQt4入门学习笔记(一)

    PyQt4入门学习笔记(一) 一直没有找到什么好的pyqt4的教程,偶然在google上搜到一篇不错的入门文档,翻译过来,留以后再复习. 原始链接如下: http://zetcode.com/gui/ ...

  9. Hadoop入门学习笔记---part2

    在<Hadoop入门学习笔记---part1>中感觉自己虽然总结的比较详细,但是始终感觉有点凌乱.不够系统化,不够简洁.经过自己的推敲和总结,现在在此处概括性的总结一下,认为在准备搭建ha ...

  10. Hadoop入门学习笔记---part1

    随着毕业设计的进行,大学四年正式进入尾声.任你玩四年的大学的最后一次作业最后在激烈的选题中尘埃落定.无论选择了怎样的选题,无论最后的结果是怎样的,对于大学里面的这最后一份作业,也希望自己能够尽心尽力, ...

随机推荐

  1. iOS网络图片缓存SDWebImage

    Web image(网络图像) 该库提供了一个支持来自Web的远程图像的UIImageView类别 它提供了: 添加网络图像和缓存管理到Cocoa Touch framework的UIImageVie ...

  2. 小程序调用支付报错:jsapi缺少参数: total_fee

    这种情况通常是因为在调用的时候,package参数有问题导致: wx.requestPayment中package参数必须是package:"prepay_id=wx21********** ...

  3. [Luogu] P1156 垃圾陷阱

    题目描述 卡门――农夫约翰极其珍视的一条Holsteins奶牛――已经落了到“垃圾井”中.“垃圾井”是农夫们扔垃圾的地方,它的深度为D(2≤D≤100)英尺. 卡门想把垃圾堆起来,等到堆得与井同样高时 ...

  4. sql分组和连接

    SELECT mr.member_id, mr.username, GROUP_CONCAT(DISTINCT jb.company,jb.start_time,jb.end_time)company ...

  5. 零基础入门学习Python(30)--文件系统:介绍一个高大上的东西

    知识点 os,os.path模块中关于文件.目录常用的函数使用方法 在使用os模块,需要先进行import操作: import os os模块中关于文件/目录常用的函数使用方法 函数名 函数作用 示例 ...

  6. 用element-ui的走马灯carousel轻松实现自适应全屏banner图

    写在前面:网站轮播图建议使用swiper组件,非常方便快捷.vue轮播图插件之vue-awesome-swiper 接手一个项目,轮播图是用element-ui的carousel实现的,看起来效果还不 ...

  7. c++基础_时间转换

    #include <iostream> using namespace std; int main(){ int n; cin>>n; ,b=,c=; )!=){ a=n/; ...

  8. mysql 删除数据重复的记录

    delete from user where id not in ( select * from ( select min(id) from user group by username,email ...

  9. Auto-Encoders实战

    目录 Outline Auto-Encoder 创建编解码器 训练 Outline Auto-Encoder Variational Auto-Encoders Auto-Encoder 创建编解码器 ...

  10. Java ExecutorService四种线程池的例子与说明(转发)

    1.new Thread的弊端 执行一个异步任务你还只是如下new Thread吗? new Thread(new Runnable() { @Override public void run() { ...