You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows 11更新后Classic ASP混合VBScript/JScript兼容性问题求助

Windows 11更新后Classic ASP混合VBScript/JScript脚本引擎崩溃问题求助

问题现象

更新Windows 11至2025年6月2日版本后,IIS上运行的Classic ASP应用出现严重随机崩溃,此前该应用已稳定运行多年。错误信息如下:

Active Server Pages error 'ASP 0240'
Script Engine Exception
A ScriptEngine threw exception 'C0000005' in 'IActiveScript::SetScriptState()' from 'CActiveScriptEngine::ReuseEngine()'

Windows应用事件日志中同步出现类似消息:

Eccezione del modulo di script 'C0000005' in 'IActiveScript::SetScriptState()' da 'CActiveScriptEngine::ReuseEngine()'

上述问题导致大量请求返回HTTP 1.1/500内部服务器错误,页面加载随机失败。

环境与脚本架构

  • 运行环境:IIS 10 / Classic ASP / Windows 11
  • 脚本模式:ASP页面混合使用<% ... %>(VBScript)与<script runat="server" language="JScript">...</script>代码段,其中JScript负责JSON解析(基于Douglas Crockford的json2.js移植版)、字符串操作等辅助功能,VBScript处理核心业务逻辑;该混合模式在之前所有Windows/IIS版本中均正常运行。

已尝试方案与临时Workaround

  • 启用IIS中「Execute In MTA」(路径:COM+属性>ASP>「Execute In MTA」=True)可暂时规避崩溃,但会引入会话/线程安全问题,且部分遗留COM对象出现不稳定情况
  • 尝试卸载更新补丁KB5054979和KB5058499,问题未得到解决
  • 无法通过2025-06-01的系统还原点回滚系统,当前找不到系统还原界面
  • 禁用JScript或全量改写为VBScript因项目规模与复杂度不可行

关键发现

  • 该问题属于Windows 11的兼容性回归或破坏性变更,相同代码库在Windows 10、Windows Server 2019/2022上运行完全正常
  • 混合VBScript与JScript的Classic ASP应用已基本处于不稳定状态,JScript代码无法在VBScript页面中可靠执行
  • 推测底层脚本引擎变更导致双引擎加载时的资源管理(IActiveScript::SetScriptState/ReuseEngine)失败,大量依赖该混合模式的开源Classic ASP模块(如各类JSON解决方案)均受影响

求助问题

  1. 是否有针对该问题的永久解决方案或微软官方补丁?
  2. 能否在当前Windows 11版本中继续在Classic ASP中同时使用VBScript和JScript?
  3. 微软是否已确认此为漏洞或计划发布修复?

问题影响

数千个业务关键型长期运行的Classic ASP应用依赖该脚本组合(尤其是JSON解析场景),此次无预警的兼容性破坏且未提供迁移工具,给无法短期内重写应用的企业造成重大阻碍;临时方案「Execute In MTA」风险极高,会给未设计多线程执行的应用带来并发与状态一致性问题。

内容的提问来源于stack exchange,提问作者omerix

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 23:16:05