配置数据库配置文件(在默认情况下名为 MetaBase.xml)用于存储 IIS 配置设置。MetaBase.xml 文件按照层次结构进行组织,根据在安装 IIS 时选择的选项,该结构会有所不同,如果可以的话,可在以后重新配置。当启动或重新启动 IIS 时,会从 MetaBase.xml 中读取配置设置并将其复制到内存中的 IIS 缓存中,这时称为“内存中的配置数据库”。当使用 IIS 管理器或编程接口更改 IIS 配置时,在更改数超过事先配置的数量之后或者按照定期时间间隔,所做更改将应用到内存中的配置数据库并保存在 MetaBase.xml 中。
因为 MetaBase.xml 是纯文本文件,所以您可以使用常见的编辑工具(如 Microsoft 记事本)读取和配置它。建议您在试图通过更改 MetaBase.xml 文件来配置 IIS 之前,先熟悉 MetaBase.xml 的结构。
因为 MetaBase.xml 是可扩展标记语言 (XML) 文件,所以熟悉 XML 术语和配置数据库术语有助于理解 MetaBase.xml 文件的结构。下表定义了这两类术语。MetaBase.xml 文件的结构是用 MetaBase.xml 代码示例中的相关术语来表示的。
MetaBase.xml 文件是用 XML 元素构造的。下表标识和定义了 XML 术语并将它们与在 MetaBase.xml 中的用途相关联。
表 1:XML 术语和与 MetaBase.xml 的关系
术语 | XML 描述 | 与 MetaBase.xml 的关系 |
---|---|---|
XML 声明 | 位于 XML 文档开头的处理指令,如 <?xml version ="1.0"?> ,用于将文件声明为 XML 代码。 |
MetaBase.xml 中的第一行是 XML 声明。 |
元素 | 信息的逻辑单元。元素由 <element name> 和 </element name> 标记包围,其中 element name 是元素的名称。元素可以包含特性。 | 项和自定义属性是使用 XML 元素编写的。 |
根元素 | 一个包含构成 XML 文档的所有其他元素和字符数据的元素;又称为“文档元素”。 | MetaBase.xml 包含名为 <configuration> 的根元素。 |
开始标记 | 用于标记元素开头的标记,如 <element name>,其中 element name 是元素的名称。 | 在 MetaBase.xml 中,开始标记用于标识项或自定义属性的开头。 |
结束标记 | 用于标记元素结尾的标记,如 </element name>,其中 element name 是元素的名称。 | 在 MetaBase.xml 中,结束标记用于标识项或自定义属性的结尾。 |
元素类型 | 由出现在开始标记和结束标记中的名称表示。 | 在 MetaBase.xml 中,配置数据库项的元素类型实际上是 |
特性 | 与元素相关并提供有关该元素内容的详细信息的名称/值对。 | 配置数据库属性包含了几个描述属性特征的特性,如数据类型或值。项也包含属性,如 |
注释 | 由 <!-- 和 --> 标记分隔的文本段,其中包含的文字不作为文档来对待。 | 在 MetaBase.xml 中,注释由 <!-- 和 --> 标记分隔,且必须写在相关项的上方。如果将注释放在某个 XML 节点内部,则该节点将被删除。同样,不允许将注释放在 IIS_Global 节点上方。 |
下表概述了用于描述 MetaBase.xml 的结构的配置数据库术语。在本主题的后面将详细讨论这些术语。
表 2:MetaBase.xml 术语
术语 | 描述 |
---|---|
项 | MetaBase.xml 中用来包含属性的分层容器。每个项都在其开始标记中包含了 Location 特性,指定该项在 MetaBase.xml 中的层次结构位置。配置数据库项类似于文件夹或注册表项。 |
位置 | 每个项都包含了用于唯一地标识该项在 MetaBase.xml 中的层次结构位置的 Location 特性,它由一系列用正斜杠 (/) 分隔的位置名组成。例如,“ |
属性或自定义属性 | 属性或自定义属性定义了用于配置 IIS 的值。属性中包含特性,一些属性(如 |
特性 | 配置数据库属性包含了几个描述属性特征的特性,如数据类型或值。项也包含属性,如 |
标志 | 标志是包含标志的属性的 DWORD 值中的特定位。属性中的每个标志都用于配置属性的特定功能,如读取或写入访问。一个属性的标志值总和便是该属性的值特性的总和。 |
有关属性、特性和标志的详细信息,请参阅配置数据库架构主题。有关将属性作为架构内属性或自定义属性写入到 MetaBase.xml 中的详细信息,请参阅将更改写入到 MetaBase.xml 中。
配置数据库项类似于注册表项或文件系统中的目录。每个配置数据库项都由其名称和位置(在项的开始标记中定义)标识。下面的示例显示了两个项:IIsConfigObject 和
注意 为了便于阅读,下面示例中的注释并不遵循用于规定在配置数据库中正确放置注释或设置格式的配置数据库规则。有关配置数据库注释的信息,请参阅添加配置数据库注释。
<IIsConfigObject Location="/LM/IISADMIN"
(comment) Properties are defined here
>
<IIsLogModules Location="/LM /Logging"
(comment) Properties are defined here
</IIsLogModules >
大多数项都是使用
名为 IIsConfigObject 的项是特殊项,因为它们不是使用
对于所有的项,项名称不必保持唯一,与此不同的是,Location 特性的值对于每一项必须保持唯一。Location 特性定义了项在 MetaBase.xml 中的层次结构位置。除了仅有的两个例外情况外,Location 特性值由一系列用正斜杠 (/) 分隔的位置名称组成,用于唯一地标识项在 MetaBase.xml 中的层次结构位置。
这两个例外是 IIS_Global 项和 IIS_ROOT 项,前者位于 MetaBase.xml 中的最高层次结构位置 (Location ="."),后者位于 MetaBase.xml 中的第二高的层次结构位置 (Location ="/")。接下来最高的层次结构位置是
任何配置数据库项的层次结构位置可通过查看其 Location 特性来确定。例如,“
在本主题后面的 MetaBase.xml 示例将说明本节中介绍的配置数据库项和元素。
与任何其他 XML 文件一样,XML 声明 <?xml version ="1.0"?> 占据 MetaBase.xml 中的第一行,表明该文件采用 XML 格式。名为 <configuration> 的根元素包含了所有其他元素。
IIS_Global 项位于包含属性的配置数据库中的最高层。应该将 IIS_Global 项配置视为只读;不要配置其属性。
IIS_ROOT 项 (Location ="/") 是可为其配置属性的最高项。在 IIS_ROOT 项配置的属性影响 IIS 的总体运行方式。
其中,可替换的参数是:
Service = MSFTPSVC、NNTPSVC、SmtpSvc 或 W3SVC
SiteIdentifier = FTP、NNTP、SMTP 或 Web、站点的唯一数字标识符
ROOT = 站点的根虚拟目录
Virtual Directory = 虚拟目录
Directory = 物理目录
File = 文件
每个站点都是一个服务器实例,它由在其名称空间中使用的数字引用。例如,
下表列出了包含在“LM”名称空间中的父项的位置。因为它们的子项太多,所以未在此处列出。有关可在其中配置特定属性的所有位置的列表,请参阅配置数据库属性参考。
表 3:本地计算机位置
位置 | 描述 |
---|---|
在早期版本的 IIS 中, |
下面的代码示例说明了 MetaBase.xml 文件的结构。XML 注释位于它们所属的每一行的前面,描述配置数据库的结构。在 XML 注释中,用“粗体”显示配置数据库术语,用“斜体”显示 XML 术语。
请注意,在该示例中,
注意 为了便于阅读,下面的示例中注释并不遵循用于规定在配置数据库中正确放置注释或设置格式的配置数据库规则。有关配置数据库注释的信息,请参阅添加配置数据库注释。
(comment) The XML declaration
<?xml version ="1.0"?>
(comment) The Root Element
<configuration xmlns="urn:microsoft-catalog:XML_Metabase_V2_0">
(comment) Element
<MBProperty>
(comment) Key, Start tag containing a location attribute
<IIS_Global Location ="."
(comment) Property (in-schema)
BINSchemaTimeStamp="c0ed73cdbcd8c001"
(comment) Property (in-schema)
ChangeNumber ="888"
(comment) Property (in-schema)
HistoryMajorVersionNumber ="154"
>
(comment) End tag
</IIS_Global>
(comment) Key, Start tag containing a location attribute
<IIS_ROOT Location ="/"
(comment) Property (in-schema)
AdminACL ="A really long number"
>
(comment) End tag
</IIS_ROOT>
(comment) Key, Start tag containing a location attribute
<IIsComputer Location="/LM "
(comment) Property (in-schema)
MaxBandwidth ="4294967295"
(comment) Property (in-schema)
EnableEditWhileRunning ="0"
>
(comment) End tag
</IIsComputer >
(comment) Key, Start tag containing a location attribute
<IIsWebService Location="/LM /W3SVC "
(comment) Property (in-schema)
AllowKeepAlive ="TRUE"
(comment) Property (in-schema)
AnonymousPasswordSync ="TRUE"
>
(comment) End tag
</IIsWebService >
(comment) Key, Start tag containing a location attribute
<IIsWebServer Location="/LM /W3SVC /1"
(comment) Property (in-schema)
AppPool
(comment) Property (in-schema)
DefaultDoc ="Default.htm,Default.asp"
(comment) Property (in-schema)
ServerComment ="Default Web Site"
>
(comment) Property (custom)
<Custom
(comment) Attributes
Name="SecureBindings "
Value=":443:"
Type="MULTISZ"
UserType="IIS_MD_UT_SERVER"
Attributes="NO_ATTRIBUTES"
/>
(comment) End tag
</IIsWebServer >
(comment) Key, Start tag containing a location attribute
<IIsWebServer Location ="/LM /W3SVC /2"
(comment) Property (in-schema)
SecureBindings =""
(comment) Property (in-schema)
ServerBindings =":6186:"
(comment) Property (in-schema)
ServerComment ="My 2nd Web Site"
>
(comment) End tag
</IIsWebServer >
(comment) End tag
</MBProperty>
(comment) End tag
</configuration>
相关主题