当前位置 主页 > 服务器问题 > win服务器问题汇总 >

    ApplicationHost.config(IIS存储配置区文件)介绍

    栏目:win服务器问题汇总 时间:2019-11-16 10:02

    对于一个刚刚创建网站,以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盘中搜索这个文件,详细的查看其中的内容。

    <!--

    The <globalModules> section defines all native-code modules.
    To enable a module, specify it in the <modules> section.

    -->
    <globalModules>
    <add name="UriCacheModule" image="%IIS_BIN%\cachuri.dll" />
    <!-- <add name="FileCacheModule" image="%IIS_BIN%\cachfile.dll" /> -->
    <add name="TokenCacheModule" image="%IIS_BIN%\cachtokn.dll" />
    <!-- <add name="HttpCacheModule" image="%IIS_BIN%\cachhttp.dll" /> -->
    <add name="DynamicCompressionModule" image="%IIS_BIN%\compdyn.dll" />
    <add name="StaticCompressionModule" image="%IIS_BIN%\compstat.dll" />
    <add name="DefaultDocumentModule" image="%IIS_BIN%\defdoc.dll" />
    <add name="DirectoryListingModule" image="%IIS_BIN%\dirlist.dll" />
    <add name="ProtocolSupportModule" image="%IIS_BIN%\protsup.dll" />
    <add name="HttpRedirectionModule" image="%IIS_BIN%\redirect.dll" />
    <add name="ServerSideIncludeModule" image="%IIS_BIN%\iis_ssi.dll" />
    <add name="StaticFileModule" image="%IIS_BIN%\static.dll" />
    <add name="AnonymousAuthenticationModule" image="%IIS_BIN%\authanon.dll" />
    <add name="CertificateMappingAuthenticationModule" image="%IIS_BIN%\authcert.dll" />
    <add name="UrlAuthorizationModule" image="%IIS_BIN%\urlauthz.dll" />
    <add name="BasicAuthenticationModule" image="%IIS_BIN%\authbas.dll" />
    <add name="WindowsAuthenticationModule" image="%IIS_BIN%\authsspi.dll" />
    <!-- <add name="DigestAuthenticationModule" image="%IIS_BIN%\authmd5.dll" /> -->
    <add name="IISCertificateMappingAuthenticationModule" image="%IIS_BIN%\authmap.dll" />
    <add name="IpRestrictionModule" image="%IIS_BIN%\iprestr.dll" />
    <add name="DynamicIpRestrictionModule" image="%IIS_BIN%\diprestr.dll" />
    <add name="RequestFilteringModule" image="%IIS_BIN%\modrqflt.dll" />