VB 6.0 / ASP(不是 .NET)Web 应用程序在带有 sql 2005 服务器的 windows server 2003 / IIS 环境中运行。服务器上运行有 ac/c++ 组件(exe/service)。
客户希望在 Windows 集群环境中运行。由于使用 Windows API GetComputerName 会出现问题。这会提取实际的服务器名称,而不是“别名”集群名称。
通过在 windows 中为该 exe 设置一个属性来修复 c/c++ 组件,该属性强制 getcomputername 调用返回网络名称,在这种情况下是别名集群名称。
VB/ASP 部分也调用了getcomputername。是否有一些设置,类似于如何定义 ac/c++ exe,您可以在其中强制 getcomputername 使用网络名称?
我们看到的是当网页登录屏幕加载时,版本/功能信息应该在哪里,有一个错误说明:方法〜对象〜未找到。如果我们手动将 activecomputername reg 键更改为别名 clustername,此错误就会消失。不能将其用作长期修复,因为一些 Windows 进程出现并将此键值恢复为正确的名称。
有人对在集群环境中运行 vb 应用程序有建议吗?我宁愿不必更改代码,如果必须将应用程序编写为支持集群,我会感到震惊。
谢谢!
2009 年 7 月 31 日更新
我想知道是否有办法通过 MS Cluster 管理工具告诉 IIS(或分配给网站的 vb)使用网络节点名称而不是本地机器名称。我认为这就是迄今为止我与每个人的建议脱节的地方。同样,我能够在集群管理工具中添加 c/c++ 应用程序并将其配置为使用网络节点名称,而无需修改任何代码。是否有某种方法可以为在 IIS 中运行的 VB/ASP 做同样的事情。是否必须为群集配置 IIS?