我正在尝试调试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
    %>

我在VB ASP调试DCOM的所有方面都添加了“所有人”。

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

正如我提到的其他DLL可以很好地调试一样,这只是该方面的这一方面不起作用。
有什么建议么?

最佳答案

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

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

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

关于dll - 为什么在为ASP经典页面IIS6调试vb 6 dll时我的ObjectContext为空?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18664845/

10-11 22:25
查看更多