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 ...
随机推荐
- 宿主机ping不通虚拟机cenos7
参考网址1:http://zhidao.baidu.com/link?url=2v3NXGyzPT-XTYwon8PesZLnMg02Ako6nDub3vJiJt4miSmkOA-04xLUqfu9s ...
- 如何判断css是否加载完成
要判断这个 CSS 文件是否加载完毕,各个浏览器的做法差异比较大,这次要说IE浏览器做的不错,我们可以直接通过onload方法来处理CSS加载完成以后的处理: // 代码节选至seajs functi ...
- 理解callback function in javascript
以下内容主要摘自[1,2] (1)In javascript, functions are first-class objects, which means functions can be used ...
- embed标签
Embed(一).基本语法:embed src=url说明:embed可以用来插入各种多媒体,格式可以是 Midi.Wav.AIFF.AU.MP3等等, Netscape及新版的IE 都支持 ...
- ZeroMQ接口函数之 :zmq_proxy – 开始ZMQ内置代理
ZeroMQ 官方地址 :http://api.zeromq.org/4-1:zmq-proxy zmq_proxy(3) ØMQ Manual - ØMQ/4.1.0 Nam ...
- RMQ 数据结构
RMQ 常用的数据结构之一 直接上代码 马克好来 是个好板子 #include <stdio.h> #define min(a,b) a<b ? a : b ],d[][]; voi ...
- 判断.NET4.0是否安装
Clinet 和 Full存在一个都说明安装了Framework "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client"&qu ...
- *HDU 1068 二分图
Girls and Boys Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- iOS开发之Core Animation
在IOS中如果使用普通的动画则可以使用UIKit提供的动画方式来实现,如果想实现更复杂的效果,则需要使用Core Animation了. 在Core Animation中我们经常使用的是 CABasi ...
- C# 方法返回值的个数
方法返回值类型总的来说分为值类型,引用类型,Void 有些方法显示的标出返回值 public int Add(int a,int b) { return a+b; } 有些方法隐式的返回返回值,我们可 ...