事情的起因是,我们在项目中使用了URLRewriter.dll作为实现伪静态的工具,在VS2010及之前的开发环境中,该功能运行正常,但在VS Express 2012 for Web中就不起作用了,追究原因,找到是IIS Express配置的问题,因为IIS Express与IIS的配置很相似,并且在这个过程中对以前Asp.net配置中的未有甚解的配置项重新看过了一遍,所以记录下来,以免以后遇到这样的问题还要再将原始文档翻看一遍。

这个追究原因的过程是:

IIS和IIS Express的配置

  1. 从IIS7开始使用基于XML的配置系统来存储IIS的设置信息(就是将IIS的设置存储在XML文件中),而在IIS7之前,这些配置信息是使用元数据(metabase)来存储IIS的设置信息的;参看:http://www.iis.net/configreference;IIS的配置文件共有ApplicationHost.config;Administration.config(IIS Express无此配置文件);Redirection.config;
  2. 存储IIS配置信息的XML文件,其组织形式类似于Asp.net的配置文件,表现在:(1)使用后缀名.config;(2)层次式(下层中的配置项可覆盖上层中的配置项);(3)配置文件中均有<configSections />定义配置节处理器,其余部分为配置节处理器的配置信息;
  3. IIS配置文件Administration.config中的<modules>元素用于定义可以在IIS管理器中提供的功能;也就是你打开IIS Manager后,在Feature View界面上能够看到的每个Feature,都是<modules>元素的一个子元素。大概因为IIS Express不提供定制Feature的功能且不提供UI界面,所以,IIS Express无此配置文件;参看:http://www.iis.net/configreference/modules;
  4. ApplicationHost.config中的<modules>元素,现在我弄不清是干什么的了,参考链接是:http://www.iis.net/configreference/system.webserver/modules,有时间在研究研究吧;
  5. ApplicationHost.config中的<handlers>元素用来定义处理特定文件扩展名或URL的处理程序(handler),Handler是IIS的组件,不同的Hanlder被配置用来处理对特定内容的请求;IIS中配置的托管Handler和Asp.net中的Handler是一个概念,只不过默认情况下这些托管handler只在IIS的集成模式下其作用,若需在IIS经典模式使用,则需要在ASP.net应用程序的Web.config中的<system.server><HttpHandler>中配置(当然IIS还有不同于托管Handler的其他的handler类型),参看:http://www.iis.net/configreference/system.webserver/handlers
  6. IIS或Asp.net是如何找到handler的?还有Handler类型也搞不明白;

有关Asp.net配置文件的几个问题(MSDN中有关Asp.net配置的地址是:http://msdn.microsoft.com/zh-CN/library/ms178683.aspx)

  1. <system.web>:是ASP.NET 配置设置的根元素,包含用于配置 ASP.NET Web 应用程序和控制其行为方式的配置元素;
    1. <HttpModules>
    2. <HttpHandlers>
  2. <system.web.extention>:是ASP.NET 扩展配置节的根元素,包含用于配置 ASP.NET 服务和控制其行为方式的元素(注意和<system.web>的异同);
  3. <system.webServer>:只在IIS7.0及以上的集成模式中其作用,在经典模式下,将忽略其中配置的内容;

IIS/IIS Express/Asp.net配置片段记录的更多相关文章

  1. IIS 7完全攻略之日志记录配置(摘自网络)

    IIS 7完全攻略之日志记录配置 作者:泉之源 [IT168 专稿]除了 Windows 提供的日志记录功能外,IIS 7.0 还可以提供其他日志记录功能.例如,可以选择日志文件格式并指定要记录的请求 ...

  2. 1.4部署到IIS「深入浅出ASP.NET Core系列」

    希望给你3-5分钟的碎片化学习,可能是坐地铁.等公交,积少成多,水滴石穿,谢谢关注. 很多人第一次在IIS中部署Asp.Net Core App的人都会遇到问题,会发现原来的部署方式无法运行Asp.N ...

  3. IIS Web 服务器/ASP.NET 运行原理基本知识概念整理 转

    转http://www.cnblogs.com/loongsoft/p/7272830.html IIS Web 服务器/ASP.NET 运行原理基本知识概念整理  前言:      记录 IIS 相 ...

  4. Windows + IIS 环境部署Asp.Net Core App

    环境:Windows Server 2012, IIS 8, Asp.Net Core 1.1. 不少人第一次在IIS中部署Asp.Net Core App的人都会遇到问题,会发现原来的部署方式无法运 ...

  5. 深度理解IIS下部署ASP.NET Core2.1 Web应用拓扑图

    原文:深度理解IIS下部署ASP.NET Core2.1 Web应用拓扑图 IIS部署ASP.NET Core2.1 应用拓扑图 我们看到相比Asp.Net, 出现了3个新的组件:ASP.NET Co ...

  6. Asp.Net SignalR 使用记录 技术回炉重造-总纲 动态类型dynamic转换为特定类型T的方案 通过对象方法获取委托_C#反射获取委托_ .net core入门-跨域访问配置

    Asp.Net SignalR 使用记录   工作上遇到一个推送消息的功能的实现.本着面向百度编程的思想.网上百度了一大堆.主要的实现方式是原生的WebSocket,和SignalR,再次写一个关于A ...

  7. ASP.NET Core 2.2 和之前版本区别: 可以在IIS上进行ASP.NET核心进程托管 (翻译)

    原文链接: https://weblog.west-wind.com/posts/2019/Mar/16/ASPNET-Core-Hosting-on-IIS-with-ASPNET-Core-22 ...

  8. Windows Server 2008 R2 + IIS 环境部署Asp.Net Core App

    Windows + IIS 环境部署Asp.Net Core App   环境:Windows Server 2012, IIS 8, Asp.Net Core 1.1. 不少人第一次在IIS中部署A ...

  9. VS2013中使用本地IIS+域名调试ASP.NET项目

    VS2013中使用本地IIS+域名调试ASP.NET项目 在有些情况下需要使用本地的IIS作为调试服务器,如支持多域名的网站,这里记录下如何使用. 1.修改本机hosts文件. 路径:C:\Windo ...

随机推荐

  1. 使用lnmp一键安装包后yum源出现的问题与解决

    遇到一个问题就是执行 Yum update 或使用yum安装软件等命令的时候会有一个链接报404,使用find查找到该链接与kbsingh-CentOS-Extras.repo这个包有关,删除后yum ...

  2. Only Link: Inheritance — private and protected inheritance in c++

    reading note link: https://isocpp.org/wiki/faq/private-inheritance

  3. nginx中配置pathinfo模式示例

    要想让nginx支持PATH_INFO,首先需要知道什么是pathinfo,为什么要用pathinfo? pathinfo不是nginx的功能,pathinfo是php的功能. php中有两个path ...

  4. Leetcode jump Game

    Given an array of non-negative integers, you are initially positioned at the first index of the arra ...

  5. PKUSC2016

    day x(x<0) 外出培训倒数第二天晚上发烧了....逃过了第二天早上的考试,orz 抢到rank 1 的commonc神犇!! day 0 下午到了北大,发了两张50元饭卡.这是第三次来北 ...

  6. Linux下面桌面的安装

    挂载光盘后配置yum文件,配置后 使用yum grouplist 命令 查看组 用yum install '"GNOM桌面组 输入 init 5   即可进入桌面模式 0 关机  3命令行级 ...

  7. MySQL每天自动增加分区

    有一个表tb_3a_huandan_detail,每天有300W左右的数据.查询太慢了,网上了解了一下,可以做表分区.由于数据较大,所以决定做定时任务每天执行存过自动进行分区. 1.在进行自动增加分区 ...

  8. HTML 5 拖放(Drag 和drop)

    浏览器支持 Internet Explorer 9.Firefox.Opera 12.Chrome 以及 Safari 5. 1.把标签 draggable 属性设置为 true. 2.向标签添加on ...

  9. 学习Http协议和当下主流的Rx+Retrofit的主流框架

    所有的劳累都会烟消云散了.不只在生活上,也对我的心态上发生了翻天覆地的变化.在和她在一起之前,我总觉得自己很小,不会去站在别人的角度替别人思考问题,没事就乱发脾气,抑或是一直沉迷于游戏.而和她在一起后 ...

  10. parallelism

    COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION Traditionally, the co ...