Macromedia Flash Communication Server MX 2.0 帮助
符号文本替换:Flash Communication Server MX现可在服务器 XML配置文件的所有标签中使用符号文本替
换功能。因此,您可以指出任意配置标签中的符号,Flash Communication Server在读取配置
文件时将替换您已经映射到该符号的串。如此一来,您可以在第一次配置完服务器之后
所有的串和符号映射保存在一个文件中,而无需对所有的服务器的单独配置文件进行编辑,
从而大大简化将来对于配置文件的编辑工作。
进行一次替换
为了支持从符号到串的映射,Flash Communication Server MX 允许您建立一个名为
substitution.xml 的文件。需注意的是,此文件的名称必须为小写格式。这与其它的配置文件
不同(如 Server.xml, Vhost.xml 和 Application.xml)。在基于 Unix 的操作系统上,文件名是
区分大小写的,而在 Windows 平台上则不区分大小写。
文件 substitution.xml 描述了您对符号到串映射的定义。FCS安装程序在安装的过程中也进行
了一些这样的定义,并将定义单独存在一个名为 fcs.ini 的文件中。服务器会在与
FlashCom.exe 同级的 conf 目录中查找这两个文件。您也可以选择在您建立的其它文件中定
义这些映射。然后,您可以在 substitution.xml 文件中建立对于这些自定义文件的引用。
文件 substitution.xml 用以下形式定义符号到串的映射:
<Root> <Symbols> <SymbolName>StringToMapTo</SymbolName> <SymbolName>StringToMapTo</SymbolName> </Symbols> </Root>Symbols 标签包含一个子标签,子标签以符号的名称命名。映射到符号的串含在子标签之间。 例如,下面的标签将符号 VIR_DIR 映射到串“c:\streams”: <VIR_DIR>c:\streams</VIR_DIR>在文件 substitution.xml 中,此标签为 Symbols 标签的子标签,如下面的 XML 片断所示: <Root> <Symbols> <VIR_DIR>c:\streams</VIR_DIR> </Symbols> </Root>当映射被定义后,就可以在 XML 配置文件中使用符号了。要在一个配置文件中用符号代替一个普通的串时,必须说明符号的名称,用"${"和"}"引起来。每当发现“${SYMBOL}”格式的字段时,服务器就会查询该符号是否被映射到某一个串;如果没有找到映射,“${SYMBOL}”就不会被替换,否则就会被替换。例如,在文件 Vhost.xml 中,您可能会使用先前定义好的符号: <VirtualHost><VirtualDir> <Streams>foo;${VIR_DIR}</Streams></VirtualDir> </VirtualHost> 当服务器遇到该符号时,它会检查名为 VIR_DIR 的符号是否被映射到某一个串。服务器会发现符号已被映射到在 substitution.xml 文件中的“c:\streams”。前述 XML 片断的符号映射等同于下述不带符号的 XML 片断: <VirtualHost><VirtualDir> <Streams>foo;c:\streams</Streams></VirtualDir> </VirtualHost> 如果 substitution.xml 文件丢失,而您尝试在配置文件中使用文本替换符号,则服务器会把符号理解为字面上的串。预先定义的符号 有两个预先定义好的符号总是可用的,且不必建立映射。它们是 ROOT 和 CONF。 * ROOT:此符号被映射到文件 FlashCom.exe 的位置。 例如: <AppsDir>${ROOT}\..\..\myapps</AppsDir> * CONF:此符号被映射到文件 FlashCom.exe 的位置。 例如: <AppsDir>${CONF}\..\yourapps</AppsDir>映射环境变量 您还可以指定代表环境变量的符号。要在某个XML 配置文件中引用环境变量时,需在该环境变量的首尾分别加上“%”符号;这两个“%”符号将告诉服务器,这个符号代表的是一个环境变量而不是用户定义的串。将环境变量指定为符号的语法是:${%ENV_VAR_NAME%}。 例如,服务器会把下面的符号映射到变量 COMPUTERNAME:${%COMPUTERNAME%}。 在 substitution.xml 文件外定义符号 您可以在 subsitutions.xml 文件中的 Symbols 标签下指定所有的文本包含符号到串映射的独立外部文件,后者可以通过在 subsitutions.xml 文件中指定一个或多个 KeyValueFile 标签实现。每个标签可以指明外部文件的位置。例如,下面的 subsitutions.xml 文件的片断可指定文件 C:\testfiles\mySymbols.txt <Root> <KeyValueFile>C:\testfiles\mySymbols.txt</KeyValueFile> </Root> 这些外部文件不是 XML格式的。它们仅仅包含一系列符号-串的对子,每一对以“符号=串”的形式占据一行。 如: USER_NAME=foo USER_PSWD = bar HELLO=“world”应将这些文件中的注解放置在单独的行中并以#开始,不得将注解放置在符号定义行。 每行中的第一个“=”号被认为是区分键和值的分隔符,服务器会去掉键和值首尾的空格;值可以包含在双引号中,也可以不包含。但对于包含在双引号中的空格不会被去掉。建立符号映射 只要服务器在碰到符号之前符号已经被定义,则您可以在任意地方使用符号,包括在substitution.xml 中或任意外部配置文件中。 服务器按以下顺序建立符号映射: *预先定义的符号 ROOT 和 CONF 最先定义。 *如果 substitution.xml 存在,服务器会查找 Symbol 标签并按子标签出现的顺序对每一个子标签进行处理。 *服务器找到每一个<KeyValueFile>标签,并按指定文件出现的顺序处理这些文件。在这些外部文件中定义的符号按它们在文件中的出现顺序进行处理。 服务器端脚本的可配置应用对象属性此版本的 Flash Communication Server 支持增强服务器端应用对象的配置标签。现在您可以在服务器的 XML 配置文件中定义应用对象的属性。要定义应用对象的属性,则需在 Application.xml 文件的 JSEngine 部分中对 ApplicationObject标签内的自定义 config 标签进行指定。属性的名称与标签的名称对应,属性的值与标签的内容对应。例如,下面的 XML 片断将属性 user_name 和 dept_name 分别定义为值 jdoe 和 engineering。<Application> <JSEngine><ApplicationObject><config><user_name>jdoe</user_name><dept_name>engineering</dept_name></config></ApplicationObject></JSEngine></Application>
用以下的语法之一访问服务器端代码中的属性:
application.config.<prop_name>application.config["<prop_name>"]
例如,基于前面的 XML 片断,下面的跟踪语句是有效的。
trace("I am " + application.config.user_name + " and I work in the " +
application.config.dept_name + " department.");
trace("I am " + application.config["user_name"] + " and I work in the " +
application.config["dept_name"] + " department.");
两个语句的输出都是:
I am jdoe and I work in the engineering department.
再来看另一个例子。假设环境变量COMPUTERNAME等于“ jsmith01”,且您已经在
substitution.xml 文件中定义了名为 HELLO 的符号:
<Root>
<Symbols>
<HELLO>World</HELLO>
</Symbols>
</Root>
此外,下面的 XML 出现在 substitution.xml 文件中:
<Application> <JSEngine><ApplicationObject><config><foo>${%COMPUTERNAME%}</foo> <hello>${HELLO}</hello> </config></ApplicationObject></JSEngine></Application>
于是在服务器端的脚本中,下面的跟踪语句是有效的:
trace("My computer's name is: " + application.config.foo);
trace("Hello " + application.config.hello);
输出则是:
My computer's name is: jsmith01
Hello World
注:在 FlashComm 中,trace()语句的输出显示在控制台窗口、应用程序日志文件和应用检查
程序中(Application Inspector)。
安装程序的改进
此版本的安装程序利用了服务器进行符号-串替换的功能。安装程序不再根据您在安装过程
中的输入修改 Server.xml, Adaptor.xml, Vhost.xml 和 Application.xml 文件中的标签,而是修改
一个叫 fcs.ini 的文件。fcs.ini 文件包含了用于替换基本服务器配置串(如用户名、密码和主
机端口等)的符号。这个部分后面附有一张表,其中包含了文件中定义的所有符号。fcs.ini
文件安装在与服务器同级的 conf 目录中。
fcs.ini 文件具备以下优点:
•将安装程序对串的所有修改都存放在一个文件中。
•只需编辑一个文件即可重新配置服务器。
•可便捷地找出安装时出现的问题。
fcs.ini 文件包含以下标签的符号替换:
页:
[1]