我正在使用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一起工作 - 我从没想过会发生这种情况!这就像是被拖回黑暗时代,以一种非常粗糙的方式引起水泡!
P.S。我还设置了一个COM +组件并让ASP以这种方式获取对象,GetObjectContext在这种情况下返回一个空对象,其中没有ASP对象。所以这没有帮助: - (
答案 0 :(得分:2)
我发现在IIS中使用VB6组件的COM +方法有点不稳定。我将它添加到我想在ASP :: -
中实例化的VB6类中Private moScriptCtx As ScriptingContext
Public Sub OnStartPage(SC As ScriptingContext)
Set moScriptCtx = SC
End Sub
您现在可以访问请求,响应,服务器等作为moScriptCtx
对象的属性。
您可能想知道如何首先致电OnStartPage
。在CreateObject
执行期间,您不会自动为您执行此操作。
答案 1 :(得分:2)
我知道这有点晚了,但我遇到了类似的问题,这为我解决了这个问题:
线程:通过COM +
访问Request对象时出现问题http://forums.iis.net/t/1146404.aspx
摘要:在COM +组件中打开“允许IIS内部属性”。