学习认识—— IIS 7.0

IIS 7.0概述

 

模块化Web服务器

一个轻型服务器核心。

可以插入插入此核心中的40多个模块功能。比如允许下载静态Web内容的只需要安装StaticFileModule模块,或者支持继承NTLM身份验证的只需要安装WindowsAuthModule模块。

这些模块根据需要单独的安装在服务器上。

快速地部署小型服务器。

同时大大减少受攻击的可能性。

并通过只执行所需代码极大地提高性能。

 

下面这个图里就是所谓的模块:

 

经过简化的部署和配置

集中化配置存储(人们亲切的称其为元数据库MetaData)已经一去不复返了。

IIS 7.0具有新的委派配置系统,它基于分布式XML配置文件的层次结构。

次层次结构有全局applicationHost.config文件(该文件包含服务器级别的配置默认设置)以及应用程序的目录结构中的分布式web.config文件组成。

经过改进的管理

新的图形化IIS管理器管理工具取代了InetMgr.exe MMC管理单元,借助其基于任务的管理界面,使手动服务器管理变得非常简单。在这里更改的设置其实都是存储在上面所说的applicationHost.config文件里(在C:\Windows\System32\inetsrv\config文件夹里)。

 

APPCMD.EXE

这个命令行工具,可以创建和配置站点、应用程序、应用程序池和虚拟目录。

通过它可以启动和停止站点、回收应用程序池、列出正在运行的工作进程、检查当前正在执行的请求以及搜索失败事件请求缓冲(FREB)跟踪日志。还可以搜索、编辑、导出和导入IIS及AP.NET配置数据。

该工具使得可以灵活搜索受支持的服务器对象。例如,使得能够快速找到有特定设置集的站点,或已停止的应用程序池。执行搜索时,可以对任何对象的属性使用任意数量的条件,包括使用数字范围和简单通配字符串匹配。

注意该工具所在的位置:

 

.NET Framework和脚本

除了用IIS管理器或APPCMD.exe命令行工具进行手动服务器管理以外,还可以使用Windows Management Instrmentation(WMI)。IIS 7.0 WMI提供给程序WebAdministration(Microsoft.Web.Administration)命名控件包含相应的类和方法,可用来为网站、Web应用程序以及关联对象和属性的管理任务创建脚本。

 

IIS 7.0结构

从Client端到IIS7服务器请求和回应的结构图:

 

集成模式:ASP.NET请求管道和Web服务器请求管道可以集成到通用请求管道中。使得托管代码模块可以接收所有请求的管道通知,即使这些请求不是针对ASP.NET资源。管道是唯一的,想访问谁都行。

经典模块:类似于IIS 6.0模式。ASP.NET请求管道与Web服务器请求管道分离。主要是为了向前兼容使用。

HTTP处理程序

ASP.NET HTTP处理程序是响应对ASP.NET Web应用程序的请求而运行的过程(通常称为“终结点”Endpoint)。最常用的处理程序是处理.aspx文件的ASP.NET页处理程序。用户请求.aspx文件时,页通过页处理程序来处理请求。可以创建自己的HTTP处理程序将自定义输出呈现给浏览器。例如RSS源;图像服务器。

创建处理程序的步骤:

——实现IHttpHandler接口。

——实现IsReusable属性和ProcessRequest方法。

 

——实现IHttpAsyncHandler来创建一个异步处理程序。

——实现IsReusable属性和BeginProcessRequest、EndProcessRequest方法。

 

——映射文件名扩展。

HTTP模块

HTTP模块是一个在每次针对应用程序发出请求时调用的程序集。HTTP模块作为ASP.NET请求管道的一部分调用,它们能够在整个请求过程中访问生命周期事件。

HTTP模块使得可以检查传入和传出的请求并根据该请求进行操作。

——安全:可以检查传入的请求,所以HTTP模块可以在调用请求页、XML Web Services或处理程序之前执行自定义的身份验证或其他安全检查。

——统计信息和日志记录:因为HTTP模块是在每次请求时调用的,所以,您可以将请求统计信息和日志信息收集到一个集中的模块中,而不是收集到各页中。

——自定义页眉页脚:因为可以修改传出响应,所以可以在每一个页面或XML Web Servies响应中插入内容,如自定义的表头信息。

 

如果要想对每个请求做动作,就制作HTTP模块;如果要想对某一些文件类型做处理,就制作HTTP处理程序。

 

如何创建模块

——实现IHttpModule接口。

——为Init方法编写一个处理程序。

——为已经订阅的事件编写代码。

 

DEMO

自定义同步处理程序

 

自定义异步处理程序

自定义处理程序工厂

自定义模块

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值