Web开发中的配置管理与文件处理
立即解锁
发布时间: 2025-08-17 00:51:43 阅读量: 1 订阅数: 5 

### Web开发中的配置管理与文件处理
在Web开发领域,从桌面开发过渡过来的开发者会遇到一些具有挑战性的概念。本文将深入探讨Web开发中的配置管理,特别是Web Connection应用程序的配置文件相关内容。
#### 1. Web Connection代码处理机制
在Web Connection框架中,有三个重要的代码处理步骤:
- **HTML块封装**:将所有普通的HTML块包裹在Visual FoxPro的TEXT - ENDTEXT块中,使普通文本成为可执行代码,整个脚本可以被执行。
- **表达式分隔符转换**:将所有表达式的分隔符转换为Visual FoxPro TEXTMERGE分隔符 << 和 >>。
- **代码块提取**:从分隔符中提取所有的Visual FoxPro代码块。
经过这些处理后,Web Connection框架可以通过`SET TEXTMERGE ON`来执行代码,并将输出路由到一个文件,该文件的内容可以作为HTML响应发送给客户端。
#### 2. 配置文件概述
Web Connection应用程序的配置设置通过两个独立的INI文件来维护:
- **WC.INI文件**:包含ISAPI连接器(WC.DLL)使用的设置,必须与WC.DLL文件位于同一物理文件夹中,且文件名必须为WC.INI。
- **应用程序INI文件**:包含Visual FoxPro应用程序使用的设置,文件名应与Visual FoxPro项目文件的根名称相同。例如,如果项目名为DemoApp.PJX,配置文件则为DemoApp.INI,并与项目文件位于同一文件夹。
很多开发者看到众多的配置设置可能会感到不知所措,但实际上,大部分设置是可选的,或者可以使用Web Connection的默认值。如果按照推荐的方式设置目录结构,并使用Web Connection新项目向导创建应用程序,初始的INI文件几乎不需要修改即可开始使用。
#### 3. 为何需要两个配置文件
对于初次使用Web Connection的开发者来说,一个常见的疑问是为什么一个应用程序需要两个独立的INI文件。这是由Web Connection引擎的架构决定的。ISAPI连接器(WC.DLL)和Visual FoxPro可执行文件通常不在同一位置,甚至可以位于不同的机器上。因此,使用两个独立的配置文件可以在部署和扩展方面提供最大的灵活性。
特别是在Web Connection的基于文件的消息传递机制中,这种需求更为明显。WC.DLL组件通过在预先安排的位置读写临时文件与Visual FoxPro应用程序进行通信,这要求两个INI文件中的临时路径名和临时文件扩展名设置必须完全一致,否则应用程序将无法响应任何Web请求。
#### 4. WC.INI文件详解
WC.INI文件包含了WC.DLL中ISAPI连接代码使用的所有可配置参数。一旦应用程序运行,这些设置通常保持不变,除非更改应用程序的部署方式。以下是WC.INI文件中一些重要设置的详细说明:
| 设置 | 使用说明 | 是否必需 |
| --- | --- | --- |
| Path | 文件消息传递过程中交换临时文件的目录的完整路径。必须与应用程序INI文件中的TempFilePath设置完全匹配,否则应用程序将无法响应任何Web请求。例如:d:\wctemp\DemoApp\ ,建议使用尾随反斜杠。 | 是,在基于文件的消息传递中至关重要,也用于确定wcerrors.TXT错误日志文件的位置。 |
| Timeout | WC.DLL等待Visual FoxPro应用程序响应的时间(以秒为单位),超时后将向用户发送 “No Output” 错误消息。默认值为50秒。 | 是 |
| PollTime | 在基于文件的消息传递中,确定WC.DLL检查Visual FoxPro应用程序是否返回结果页面的频率(以毫秒为单位)。默认值为100毫秒。 | 仅在基于文件的消息传递中必需 |
| Template | 基于文件的消息传递中创建的临时文件的文件扩展名。默认值为WC_,除非在同一临时目录中运行两个独立的Web Connection应用程序(不建议这样做),否则不应更改。必须与应用程序INI文件中的Template设置完全匹配。 | 仅在基于文件的消息传递中必需 |
| Mechanism | 控制WC.DLL与Visual FoxPro应用程序之间的通信方式,可选值为File(基于文件的消息传递)或Automation(COM)。 | 是 |
| PostMethod | 始终设置为URLEncoded,这是早期设计选项的遗留设置。 | 是 |
| AdminAccount | 允许访问各种管理功能的Windows用户账户的逗号分隔字符串。留空则允许任何访问该站点的用户执行这些功能,设置为 “Any” 则允许任何经过身份验证的Windows用户执行这些功能。 | 否 |
| AdminPage | 包含管理功能链接的Web页面的URL。默认使用Web Connection提供的admin.asp文件。 | 否 |
| ExeFile | Visual FoxPro可执行文件的完整路径和文件名,用于自动代码更新(在COM模式下),也可在基于文件的消息传递中与FileStartInstances设置结合使用,在服务器重启后自动启动可执行文件。 | 否,但不提供则相关功能将不可用 |
| UpdateFile | 用于将新版本的EXE文件上传到生产服务器的位置的完整路径和文件名。建议使用受密码保护的FTP目录。 | 否,但不提供则自动代码更新功能将不可用 |
| FileStartInstances | 在基于文件的消息传递中,控制自动启动的可执行文件副本数量。默认值为0。 | 仅在基于文件的消息传递中使用 |
| ServerLoading | 在COM消息传递中,影响后续请求是在多个实例之间循环(“轮询” 加载)还是基于负载需求进行分配。取值为0(基于负载)或1(轮询)。 | 仅适用于COM消息传递 |
| KeepAlive | 在COM消息传递中,控制在6 - 8分钟的不活动后,Visual FoxPro COM服务器是否允许关闭。取值为0(正常)或1(保持活动)。 | 仅适用于COM消息传递 |
0
0
复制全文
相关推荐










