EntityFramework数据持久化 第五章 ASP.NET运行机制

一、HttpModule对象(重点)

1、ASP.NET运行机制

1)客户端发送请求

2)服务器端IIS接收请求,根据请求的文件类型(文件扩展名)分发给对应的“运行时”程序进行处理

3)如果配置有HttpModule,就会经过一或多个HttpModule层层处理

4)请求最终会到达HttpHandler,进行最终的处理

5)请求经过处理后原路返回

2、HttpModule与HttpHandler的区别:

1)HttpModule是HTTP请求处理的中点,HttpHandler是终点

2)对于同一HTTP请求,HttpModule可以配置多个,而HttpHandler只有一个

3、HttpModule对象的使用步骤:

1)定义一个类,实现IHttpModule接口

2)在Init()方法中绑定相应事件,编写功能代码

3)配置web.config:

  <system.webServer>
    <modules>
      <add name="testModule" type="WebApp_Demo1.Modules.TestHttpModule"/>
    </modules>
  </system.webServer>

4、HttpModule通常用于执行页面之前的全局处理,可以实现诸如过滤器的效果。常见场景比如:实现登录验证、URL重写。

5、using语句创建的对象要求必须实现IDisposable接口,该接口定义的成员方法Dispose()用于执行手工清理工作。

二、HttpHandler对象(重点)

1、HttpHandler有三种实现方式:

1)web窗体(aspx):用于需要使用控件、生成页面HTML代码的场景。

2)自定义HttpHandler:用于执行服务器端处理、返回非HTML数据或少量HTML标签,同时HTTP请求具有指定的扩展名的场景。比如:防盗链、图片水印

3)一般处理程序:用于执行服务器端处理、返回非HTML数据或少量HTML标签,同时HTTP请求不需要具有指定的扩展名的场景。:比如:生成验证码

2、自定义HttpHandler的步骤:

1)定义一个类,实现IHttpHandler接口

2)在ProcessRequest()方法中实现服务器端处理,并向客户端响应数据

3)IsReusable属性返回true,响应返回后HttpHandler对象不会被销毁。反之会被销毁(与Page对象的生命周期相同)

4)配置web.config:

  <system.webServer>
    <handlers>
      <add name="testHandler" verb="*" path="*.do" type="WebApp_Demo2.Handlers.TestHttpHandler"/>
    </handlers>
  </system.webServer>

3、各级配置文件之间的优先级基于就近原则。

1)顶级配置文件:"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\web.config"

小剧场:我的爱纯粹简单。My love is simple.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值