在为asp经典页面IIS6调试vb 6 dll时,为什么我的ObjectContext为空?

时间:2013-09-06 19:06:04

标签: dll asp-classic vb6 iis-6

我正在尝试调试ASP经典页面中使用的VB 6 dll。我已经得到了其他的dll工作,但其中一个尤其令我感到头疼。这个引用了COMSVCSLib COM,在调试时是空的。

    ...
    Dim objContext as COMSVCLib.ObjectContext
    Set objContext = GetObjectContext
    ...

从asp页面编译和调用时,一切都很好,

    <%
        dim obj
        set obj = Server.CreateObject("page_builder.glue")
        obj.Login
        set obj = nothing
    %>

我将'EVERYONE'添加到VB ASP调试DCOM的所有方面。

我使用IIS 6在64位计算机上以32位运行Windows Server 2003。

正如我提到的其他DLL调试正常,只是这个方面的这个方面不起作用。 有什么建议吗?

1 个答案:

答案 0 :(得分:2)

COMSVCLib.ObjectContext对象表示DCOM主机(dllhost.exe)中的对象上下文。通过此上下文,您可以访问描述组件服务中DCOM应用程序配置的属性。

但是,当您在VB6中以调试模式运行.DLL项目时,DLL将由VB6.exe进程托管。此过程没有DCOM应用程序具有的任何配置,因此VB6.exe进程不包含任何对象上下文信息。

因此GetObjectContext将不返回任何内容。