服务器中的config文件,ApplicationHost.config(IIS存储配置区文件)介绍

对于一个刚刚创建网站,以ASP.NET MVC5为例。

我们并没有在网页的配置文件(web.config)中配置一些处理程序或模块,如处理Session的SessionStateModule模块,映射Url的UrlRoutingModule模块等。

但是我们依然可以在控制器中正常的访问Session。我们请求的url依然能正确的映射到控制器和Action。

这是因为在IIS的配置文件中ApplicationHost.config的modules 元素中注册了很多模块 ,这些模块供IIS承载的所有应用程序使用。

在 ApplicationHost.config 文件中注册的模块具有全局范围,因为它们为所有由 IIS 承载的 Web 应用程序而注册。

同样,在 ApplicationHost.config 文件的 globalModules 元素中定义的本机代码模块也具有全局范围。如果 Web 应用程序不需要全局模块,则可以将其禁用。

当然这也只是这个配置文件的功能的一小部分,有时我们在IIS管理器中添加的映射关系等也都会存储在这个配置文件中。

但是没有十足的把握,不要修改这个配置文件或在修改前进行备份。因为这个文件供整个IIS承载的所有应用程序使用。一些不起眼的配置节点的丢失,对某些程序可能就是致命的。

下面我们列出这个配置文件的部分内容,大家也可以再自己的电脑C盘中搜索这个文件,详细的查看其中的内容。

上面的配置节点中列出的都是本机代码模块(native-code)。大家如果要添加自己的托管代码模块(managed-code),就添加早modules中。

然后通过环境变量去读取这些文件。他们是整个iis的基石。

2ed3a2d60d948ccdba583a7e2a6107cb.png

c5222c34afcf24e890778ec661baf7f2.png

上面的配置节点中,列出的既有本机代码模块(native-code),也有托管代码模块(managed-code)。

上面可以看出,我们在iis管理器中看到的模块等配置信息就是来自这里,包括下面的处理程序映射,大家在iis里点击处理程序映射,其中显示的处理程序正式本配置文件

上面的处理程序是iis默认配置的,可以看出,iis为了能在多种环境下运行(包括不同的.net framework版本,不同的cpu版本),以处理 *.aspx 为例,来分析一下这种设置。

f8a029bdfe870b36892ba5501b1bf52b.png

在集成模式下,只对运行时版本进行了区分,因为托管代码会被编译为中间语言,中间语言在使用了时会根据运行机器的cpu型号编译为本地代码(nativa-code)。所以不需要有bitness64这样的配置。

在经典模式下,asp.net只是作为iis的一个ISAPI的扩展,而且不同的Framework版本和运行时版本已经编译好具体的aspnet_isapi.dll,所以使用时只需根据具体的运行机器的情况选择对应的dll即可。

iis配置存储区中的文件供整个iis支持的应用程序使用,对不同的本地环境做了适配,没有十足的把握和了解,尽量不要修改这个文件。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值