IIS/IIS Express/Asp.net配置片段记录
事情的起因是,我们在项目中使用了URLRewriter.dll作为实现伪静态的工具,在VS2010及之前的开发环境中,该功能运行正常,但在VS Express 2012 for Web中就不起作用了,追究原因,找到是IIS Express配置的问题,因为IIS Express与IIS的配置很相似,并且在这个过程中对以前Asp.net配置中的未有甚解的配置项重新看过了一遍,所以记录下来,以免以后遇到这样的问题还要再将原始文档翻看一遍。
这个追究原因的过程是:
IIS和IIS Express的配置
- 从IIS7开始使用基于XML的配置系统来存储IIS的设置信息(就是将IIS的设置存储在XML文件中),而在IIS7之前,这些配置信息是使用元数据(metabase)来存储IIS的设置信息的;参看:http://www.iis.net/configreference;IIS的配置文件共有ApplicationHost.config;Administration.config(IIS Express无此配置文件);Redirection.config;
- 存储IIS配置信息的XML文件,其组织形式类似于Asp.net的配置文件,表现在:(1)使用后缀名.config;(2)层次式(下层中的配置项可覆盖上层中的配置项);(3)配置文件中均有<configSections />定义配置节处理器,其余部分为配置节处理器的配置信息;
- IIS配置文件Administration.config中的<modules>元素用于定义可以在IIS管理器中提供的功能;也就是你打开IIS Manager后,在Feature View界面上能够看到的每个Feature,都是<modules>元素的一个子元素。大概因为IIS Express不提供定制Feature的功能且不提供UI界面,所以,IIS Express无此配置文件;参看:http://www.iis.net/configreference/modules;
- ApplicationHost.config中的<modules>元素,现在我弄不清是干什么的了,参考链接是:http://www.iis.net/configreference/system.webserver/modules,有时间在研究研究吧;
- 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;
- IIS或Asp.net是如何找到handler的?还有Handler类型也搞不明白;
有关Asp.net配置文件的几个问题(MSDN中有关Asp.net配置的地址是:http://msdn.microsoft.com/zh-CN/library/ms178683.aspx)
- <system.web>:是ASP.NET 配置设置的根元素,包含用于配置 ASP.NET Web 应用程序和控制其行为方式的配置元素;
- <HttpModules>
- <HttpHandlers>
- <system.web.extention>:是ASP.NET 扩展配置节的根元素,包含用于配置 ASP.NET 服务和控制其行为方式的元素(注意和<system.web>的异同);
- <system.webServer>:只在IIS7.0及以上的集成模式中其作用,在经典模式下,将忽略其中配置的内容;
IIS/IIS Express/Asp.net配置片段记录的更多相关文章
- IIS 7完全攻略之日志记录配置(摘自网络)
IIS 7完全攻略之日志记录配置 作者:泉之源 [IT168 专稿]除了 Windows 提供的日志记录功能外,IIS 7.0 还可以提供其他日志记录功能.例如,可以选择日志文件格式并指定要记录的请求 ...
- 1.4部署到IIS「深入浅出ASP.NET Core系列」
希望给你3-5分钟的碎片化学习,可能是坐地铁.等公交,积少成多,水滴石穿,谢谢关注. 很多人第一次在IIS中部署Asp.Net Core App的人都会遇到问题,会发现原来的部署方式无法运行Asp.N ...
- IIS Web 服务器/ASP.NET 运行原理基本知识概念整理 转
转http://www.cnblogs.com/loongsoft/p/7272830.html IIS Web 服务器/ASP.NET 运行原理基本知识概念整理 前言: 记录 IIS 相 ...
- Windows + IIS 环境部署Asp.Net Core App
环境:Windows Server 2012, IIS 8, Asp.Net Core 1.1. 不少人第一次在IIS中部署Asp.Net Core App的人都会遇到问题,会发现原来的部署方式无法运 ...
- 深度理解IIS下部署ASP.NET Core2.1 Web应用拓扑图
原文:深度理解IIS下部署ASP.NET Core2.1 Web应用拓扑图 IIS部署ASP.NET Core2.1 应用拓扑图 我们看到相比Asp.Net, 出现了3个新的组件:ASP.NET Co ...
- Asp.Net SignalR 使用记录 技术回炉重造-总纲 动态类型dynamic转换为特定类型T的方案 通过对象方法获取委托_C#反射获取委托_ .net core入门-跨域访问配置
Asp.Net SignalR 使用记录 工作上遇到一个推送消息的功能的实现.本着面向百度编程的思想.网上百度了一大堆.主要的实现方式是原生的WebSocket,和SignalR,再次写一个关于A ...
- 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 ...
- 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 ...
- VS2013中使用本地IIS+域名调试ASP.NET项目
VS2013中使用本地IIS+域名调试ASP.NET项目 在有些情况下需要使用本地的IIS作为调试服务器,如支持多域名的网站,这里记录下如何使用. 1.修改本机hosts文件. 路径:C:\Windo ...
随机推荐
- 复利计算--结对项目<04-11-2016> 1.0.0 lastest 阶段性完工~
结对项目:Web复利计算 搭档博客地址:25江志彬 http://www.cnblogs.com/qazwsxedcrfv/ 个人摘要: (2016-04-09-12:00)补充:之前传送门没做好, ...
- python下编译py成pyc和pyo
python下编译py成pyc和pyo 其实很简单, 用 python -m py_compile file.py python -m py_compile /root/src/{file1,f ...
- java Collection.shuffle()随机打乱一个顺序数组
如何打乱一个顺序的数组,其实集合的帮助类Collection就有现成的方法可用,而且效率还蛮高的,总比自定义随机数等等方法要好很多.其实乱序就这么简单,步骤如下: 1. 将一个顺序排列的数组添加到集合 ...
- Js-知识小总结
1.给标签价 class属性的时候,记住是 ClassName, 例如:var oImg = document.getElementById('img1'); 要给这个对象价class属性 oimg. ...
- cas单点登录时报Invalid credentials
CAS4后默认的密码验证不是简单的相同了.在配置文件deployerConfigContext.xml里可以找到, 默认是 Username:casuser Password:Mellon
- 树链剖分+线段树 BZOJ 1036 [ZJOI2008]树的统计Count
题目链接 题意: I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值 III. QSUM u v: 询问从点u到点v的路径上的节 ...
- hasLayout && Block Formatting Contexts
转自:http://www.smallni.com/haslayout-block-formatting-contexts/ 因为本人脑子不好使,自己打印出了一张hasLayout和Block For ...
- Validation-jQuery表单验证插件使用方法
http://www.cnblogs.com/shuang121/archive/2012/04/23/2466628.html 作用 jquery.validate是jquery旗下的一个验证框架, ...
- Who's in the Middle[HDU1157]
Who's in the Middle Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Othe ...
- Linux 小命令
查看 cat 文件名 [查看里面的内容,cate,猫,像猫一样瞄一眼的看] more 文件名 [查看文件,文件太多,一次看不完,用 more 来查看 下一页:空格或 f 下一行:回车 ...