【问题标题】:Classic ASP "ExecuteGlobal" statement acting differently on two servers经典 ASP“ExecuteGlobal”语句在两台服务器上的作用不同
【发布时间】:2009-10-19 19:02:20
【问题描述】:

我有一个奇怪的问题,我真的不知道如何处理。

除了开发一个新的 ASP.NET 站点之外,我还必须支持旧的“经典 ASP”站点。它也是用 VBScript 编写的,带有一批 Javascript 函数。许多 Javascript 函数都在“包含文件”中。一旦我学会了如何让 VS2005 附加到 IE 进程,调试这些就不是问题了。

在我们的生产系统上一切正常(谁的安全由另一组控制 - 这是一个军事设施)。但是,我修复了一个需要全面测试的模糊错误,并且某些功能无法在我在我的 PC 上运行的网站的“本地”副本下运行。

为了记录,我在 XP 上运行 IIS 5.1。

问题是一些 Javascript 函数在生产服务器上运行“正常”,但是当用作服务器时,它们似乎没有在我的 PC 上定义。发生的事情是,以前的程序员出于某种原因决定将一些函数放在一系列文件中,根据 cmets,这些文件模拟 PHP 中的“require_once”函数。这些带有 Javascript 函数的 ASP 文件显然像文件一样被读取到变量中,此时脚本然后使用“ExecuteGlobal thiscode”将这些函数加载到内存中(其中“thiscode”是他将代码读入的变量)。

据我所知,当站点在我的 PC 的 IIS 服务器上运行时,这些功能并没有保留。 do 留在生产服务器上。生产服务器的当前管理员对这个“遗留”应用程序的设置知之甚少。

有没有人知道我应该往哪个方向看?我不知道我是否缺少服务器配置中的设置或某些内容...我确实知道“require_once”脚本可以很好地找到文件,将它们读入并且“ExecuteGlobal " 语句运行没有错误。我只是不明白为什么一个转到 Javascript 函数的按钮,因为它的“OnClick”响应在生产中工作,而在我的电脑上失败,而其他一切都正常(sql 访问、安全等)

开发/测试盒是 XP Pro 上的 IIS 5.1。 Live box 是 Windows Server 2003 上的 IIS 6.0。新的开发盒子是 Vista Business 上的 IIS 7。

我们的团队没有钱购买新服务器并支付所有服务器所在大楼的空间,因此将备用机箱变成 Server 2003/IIS 6 机箱并不是一个解决方案(我认为它会如果我负责)。

如果我什至可以告诉负责实时服务器的支持人员在哪里寻找一些在 5.1 上可能不同的设置(我可以查找并与他们的设置进行比较)......我刚刚跑了这里没有想法。

【问题讨论】:

    标签: javascript iis asp-classic vbscript


    【解决方案1】:

    不完全确定从哪里开始,但它有助于确保您的生产和测试环境运行相同版本的脚本引擎。

    【讨论】:

    • 这就是我目前的方向。我刚刚获得了一台用于开发的新 PC,并试图在那里设置环境。它是 Vista Enterprise,旧机器是 XP Pro 机器,在我继承之前,以前的开发人员已经对其进行了广泛的修改。
    • 生产运行 IIS 6.0,此 XP 机器运行 IIS 5.1,新的 Vista 工作站运行 IIS 7.0。无法真正反映生产环境,因为没有钱购买服务器并将其放置在所有服务器都必须安装的建筑物中(根据该基地的空军学说)。无法在 XP 机器上运行 6.0。无法弄清楚 5.1 和 6.0 之间的“ExecuteGlobal”可能存在哪些差异。我撞到了一堵绝对的砖墙。
    • 你有 VMWare 或类似的东西吗?
    • 我指的是测试和生产中使用的 VBScript 版本 - 它与所使用的 IIS 版本无关。它们都运行相同版本的 Windows 脚本引擎吗?
    猜你喜欢
    • 1970-01-01
    • 2020-07-25
    • 1970-01-01
    • 1970-01-01
    • 2011-03-15
    • 2018-12-17
    • 2011-12-05
    • 1970-01-01
    • 2012-10-31
    相关资源
    最近更新 更多