【发布时间】:2011-04-04 15:16:27
【问题描述】:
我正在使用 VB6 IDE 调试这个 Active X dll。我可以看到执行到了对 GetObjectContext 的尝试。此方法总是返回 NOTHING。
这发生在 Windows 7 32 位 IIS 7 上。(该应用程序在其他位置运行,其中之一是带有 IIS 7 的 Windows Server 2008)
我在 Google 上进行了广泛搜索,发现了许多与 COM+ 相关的参考资料,但我的场景中没有涉及 COM+。只是来自已注册 dll 的普通旧 Server.CreateObject。
我的ASP代码如下
SET objCalendar = Server.CreateObject("SSYSDEV.Calendar")
objCalendar.BuildCalendar("ADMINUSERS")
SET objCalendar = Nothing
dll中请求函数的问题行是:
Dim objHttpRequest As ASPTypeLibrary.Request
Set objHttpRequest = GetObjectContext.Item("Request")
我们将一如既往地为您提供任何帮助或建议。
我仍然在克服不得不使用 VB6 的震惊——我从没想过它会发生!这就像被拖回黑暗时代,以一种非常粗暴的方式导致水泡!
附:我还设置了一个 COM+ 组件并让 ASP 以这种方式获取对象,GetObjectContext 在这种情况下返回一个空对象,其中没有 ASP 对象。所以这没有帮助:-(
【问题讨论】:
-
我发现上述行为是由于 COM+ 在调试中的行为与其他情况不同。在调试中,它总是会返回一个虚拟上下文——其中没有有用的对象。 AnthonyWJones 下面的解决方案不受此限制影响,完美解决问题。
标签: iis-7 windows-7 vb6 asp-classic httpcontext