Web.config 文件中的 system.webServer 节用于指定适用于 Web 应用程序的 IIS 7.0 设置。system.WebServer 是 configuration 节的子级。有关更多信息,请参见 IIS 7.0: system.webServer Section Group (IIS Settings Schema)(IIS 7.0:system.webServer 节组(IIS 设置架构))。

下面是可以在 system.WebServer 配置组中进行的 Web 服务器设置的示例:

  • 当请求未包含特定资源时,Web 服务器返回给客户端的默认文档(defaultDocument 元素)。

  • 响应的压缩设置(httpCompression 元素)。

  • 自定义标头(httpProtocol 节的 customHeaders 元素)。

  • 模块(modules 元素)。

  • 处理程序(handlers 元素)。

system.webServer 节中的某些设置只适用于 IIS 7.0 集成模式,而不适用于经典模式。具体而言,如果应用程序正在经典模式下运行,则会忽略 Web.config 文件的 system.WebServer节中指定的所有托管代码模块和处理程序。与 IIS 的早期版本相同,托管代码模块和处理程序必须在 system.web 节的 httpModules 和 httpHandlers 元素中定义。

本主题阐释需要修改 system.webServer 节的三个常见配置任务:

  • 添加默认文件,以便在请求 URL 未包含特定的文件时,提供该默认文件。

  • 注册托管代码模块。

  • 添加自定义响应标头。

当请求 URL 未包含 Web 应用程序的特定文件时,IIS 7.0 将提供一个默认文件。

配置默认文件

  1. 如果应用程序没有 Web.config 文件,请使用 Visual Studio 或文本编辑器创建该文件。

    有关更多信息,请参见编辑 ASP.NET 配置文件

  2. 如果 Web.config 文件尚未包含 system.webServer 节,请在 configuration 元素中创建该节,如下面的示例所示:

    <configuration>
    <system.webServer>
    </system.webServer>
    </configuration>
  3. 在 system.webServer 元素内,创建一个 defaultDocument 元素。

  4. 在 defaultDocument 元素内,创建一个 files 元素。

  5. 在 files 元素内创建一个 add 元素,并在 value 属性内指定默认文件的路径和名称。

    下面的示例演示了一个 system.webServer 节,该节配置为提供 Products.aspx 文件作为默认文件。

    <configuration>
    <system.webServer>
    <defaultDocument> <files> <add value="Products.aspx" /> </files> </defaultDocument>
    </system.webServer>
    </configuration>

每次请求时都会调用托管代码模块,通过该模块可对请求或响应进行自定义。

配置自定义托管代码模块

  1. 如果应用程序没有 Web.config 文件,请使用 Visual Studio 或文本编辑器创建该文件。

    有关更多信息,请参见编辑 ASP.NET 配置文件

  2. 如果 Web.config 文件尚未包含 system.webServer 节,请在 configuration 元素中创建该节,如下面的示例所示:

    <configuration>
    <system.webServer>
    </system.webServer>
    </configuration>
  3. 在 system.webServer 元素内,创建一个 modules 元素。

  4. 在 modules 元素内创建一个 add 元素,并在 name 和 type 属性中指定自定义模块。

    实际的名称和类型取决于要添加的模块。下面的示例演示如何添加名为 CustomModule 的自定义模块,该模块将实现为类型 Samples.CustomModule。

    <configuration>
    <system.webServer>
    <modules> <add name="CustomModule" type="Samples.CustomModule" /> </modules>
    </system.webServer>
    </configuration>
  5. 向模块注册中添加 precondition 属性,并将其值设置为 managedHandler。

    此前置条件会导致仅在请求 ASP.NET 应用程序资源(例如 .aspx 文件或托管处理程序)时才调用该模块。该资源中不包括静态文件(例如 .htm 文件)。

    其 configuration 节将类似于以下示例。

    
    
    <configuration>
    <system.webServer>
    <modules>
    <add name="CustomModule" type="Samples.CustomModule"
    precondition="managedHandler" />
    </modules>
    <defaultDocument>
    <files>
    <add value="Products.aspx" />
    </files>
    </defaultDocument>
    </system.webServer>
    </configuration>
配置自定义响应标头

 
利用自定义响应标头,可向浏览器发送应用程序特定的信息。例如,可以添加 Content-Language 标头来描述网页正文中使用的语言。若要执行此操作,请提供一个或多个语言和国家/地区值,例如 en-US(美国英语)或 en-GB(英国英语)。

配置自定义响应标头

  1. 如果应用程序没有 Web.config 文件,请使用 Visual Studio 或文本编辑器创建该文件。

    有关更多信息,请参见编辑 ASP.NET 配置文件

  2. 如果 Web.config 文件尚未包含 system.webServer 节,请在 configuration 元素中创建该节,如下面的示例所示:

<configuration>
<system.webServer>
</system.webServer>
</configuration>
  1. 在 system.webServer 元素内,创建一个 httpProtocol 元素。

  2. 在 httpProtocol 元素内,创建一个 customHeaders 元素。

  3. 在 customHeaders 元素内创建一个 add 标记,并在 name 和 value 属性中指定自定义标头。

    实际的名称和类型将取决于该标头在应用程序中的功能。下面的示例演示如何添加名为 CustomHeader 且值为 CustomHeader 的自定义标头。

    <configuration>
    <system.webServer>
    <httpProtocol> <customHeaders>
    <add name="CustomHeader" value="CustomHeader" />
    <customHeaders>
    </httpProtocol>
    </system.webServer>
    </configuration>

为 IIS 7.0 配置 <system.webServer>的更多相关文章

  1. 如何:为 IIS 7.0 配置 <system.webServer> 节

    https://technet.microsoft.com/zh-cn/sysinternals/bb763179.aspx https://www.cnblogs.com/tl2f/p/501615 ...

  2. ASP.NET的运行原理与运行机制 如何:为 IIS 7.0 配置 <system.webServer> 节

    https://technet.microsoft.com/zh-cn/sysinternals/bb763179.aspx 当一个HTTP请求到服务器并被IIS接收到之后,IIS首先通过客户端请求的 ...

  3. IIS 4.0配置

    neHandler”   今天安装了windows7 开发web项目需要安装IIS,当安装完以后,web程序已经映射到了本地IIS上,运行出现如下错误提示 处理程序“PageHandlerFactor ...

  4. IIS 7.0 的 ASP.NET 应用程序生命周期概述(转载)

    IIS 7.0 的 ASP.NET 应用程序生命周期概述更新:2007 年 11 月本主题介绍在 IIS 7.0 集成模式下运行以及与 IIS 7.0 或更高版本一起运行的 ASP.NET 应用程序的 ...

  5. 跨域学习笔记3--web.config设置之system.webServer 详细介绍,为网站设置默认文档

    自己并不懂,在此先记录下来,留待以后学习... 如何:为 IIS 7.0 配置 <system.webServer> 节2008-06-14 22:26http://technet.mic ...

  6. 转 web.config设置之system.webServer 详细介绍,为网站设置默认文档

    如何:为 IIS 7.0 配置 <system.webServer> 节2008-06-14 22:26http://technet.microsoft.com/zh-cn/sysinte ...

  7. web.config设置之system.webServer 详细介绍,为网站设置默认文档

    如何:为 IIS 7.0 配置 <system.webServer> 节2008-06-14 22:26http://technet.microsoft.com/zh-cn/sysinte ...

  8. Web.config 文件中的 system.webServer

    Web.config 文件中的 system.webServer 节用于指定适用于 Web 应用程序的 IIS 7.0 设置.system.WebServer 是 configuration 节的子级 ...

  9. Web.config设置system.webServer

    一般情况在iis部署web网站都非常顺利,但是遇到复杂环境,或者被配置过又正在使用的时候,就束手无策了, 因为对IIS和Web.config不熟悉,不知其中要害,导致浪费一天甚至更久的时间去处理一个可 ...

随机推荐

  1. 关于.net 对.manifest清单文件查找缓存的猜想

    问题背景: winform调用unity web player 插件. 按如下操作: ,编译后会生成.manifest清单文件: 通过清单内容可以看出程序在运行时是按照以上信息来查找ActiveX控件 ...

  2. jsp文件上传

    整理了一下jsp的上传下载,由客户端到服务端,包括一些常规的业务 一客户端 先看最基本的情况 1 在表单设置multipart/form-data,通过提交键把数据和附件一次性提交的.服务器更多的是对 ...

  3. Java实现的 线程池

    由于最近开始学习java,用到了线程池,按照之前c++的写法写出此java版的线程池 TaskRunnale实现相关任务的接口,具体要实现什么任务在相应的run函数中实现. package threa ...

  4. 关于很简单的设计模式,ui-dao-database,以及JavaBean和util工具类

    关于很简单的设计模式,ui-dao-database,以及JavaBean和util工具类 24. 三 / J2EE / 没有评论   简单的j2ee设计模式, UI通过DAO层访问数据库或者xml文 ...

  5. 转:Linux中find命令-path -prune用法详解

    在Windows中可以在某些路径中查找文件,也可以设定不在某些路径中查找文件,下面用Linux中的find的命令结合其-path -prune参数来看看在Linux中怎么实现此功能. 假如在当前目录下 ...

  6. PHP内置函数getimagesize()的漏洞

    今天程序想压缩一些图片,想获取图片的宽高,在网上查了一下哪些函数可以使用,然后看到getimagesize()这个函数.但是当同事看到这个函数,提醒我说这个函数,运营同事禁止使用.心里就很奇怪,就在网 ...

  7. sql server 表连接

    本文主要列举两张和三张表来讲述多表连接查询. 新建两张表: 表1:student 截图如下: SQL多表连接查询(详细实例)_新客网 表2:course 截图如下: SQL多表连接查询(详细实例)_新 ...

  8. BZOJ 1065 奥运物流

    http://www.lydsy.com/JudgeOnline/problem.php?id=1065 思路:由于n个点,有n条边,因此由根就会引出一个环,我们枚举环的长度,在那个长度断开,我们假设 ...

  9. eMMC的MMC模式与SPI模式

    MMC存贮卡可以分为MMC和SPI两种工作模式,MMC模式是标准的默认模式,具有MMC的全部特性.而SPI模式则是MMC存贮卡可选的第二种模式,这个模式是MMC协议的一个子集,主要用于只需要小数量的卡 ...

  10. PASCAL的优越性:官方的说法(不需要Makefile,节约大量的时间)

    也许你认为为什么我选择pascal代替其他的语言,像C.或者您会拿FreePascal和其他的pascal编译器作比较,那么好,这里您看看FreePascal为什么好: 1.pascal是一个非常简洁 ...