VB调用的对象已与其客户端断开连接

时间:2018-04-13 17:41:06

标签: vb.net visual-studio comexception

我有一个与Internet Explorer交互的控制台应用程序,可以做一些事情。

基本上,该应用程序在VS 2015专业版的调试/发布模式下运行正常。

作为exe在调试或发布模式下发布后,我会收到您在帖子标题中看到的错误。

有没有人有过这种情况的经历?

先谢谢你。

enter image description here

我还想补充一点,当程序在发布后首次启动它有效时,它使用我在另一个项目中创建的类库中的.dll,它使得Internet Explorer可见,然后失败。

  Public Shared Function func_getIe(strIntialUrl As String) As InternetExplorer

    Dim ie As InternetExplorer

    ie = New InternetExplorer
    ie.Visible = True
    ie.Navigate(strIntialUrl)
    While ie.ReadyState <> 4
    End While
    Return ie
End Function

这是.dll的一部分中的代码,除了Main()开头的一些变量声明之外,几乎是第一件事。

1 个答案:

答案 0 :(得分:1)

嘿,伙计们找到了一个很好的答案here:

如果链接死亡,这就是他们所说的:

System.Runtime.InteropServices.COMException : “The object invoked has disconnected from its clients. (Exception from HRESULT: 0x80010108 (RPC_E_DISCONNECTED))"

堆栈跟踪:

at SHDocVw.InternetExplorerClass.set_Visible(Boolean pBool)

在D:\ ProtectedModePOC \ Form1.cs中的ProtectedModePOC.Form1.button1_Click(Object sender,EventArgs e):第38行

保护模式设置:Internet-Off和Intranet-On

例外:

System.Runtime.InteropServices.COMException : “The interface is unknown. (Exception from HRESULT: 0x800706B5)”

堆栈跟踪:

at SHDocVw.InternetExplorerClass.set_Visible(Boolean pBool)

在D:\ ProtectedModePOC \ Form1.cs中的ProtectedModePOC.Form1.button1_Click(Object sender,EventArgs e):第38行

将InternetExplorer对象的Visible属性设置为true时,我收到此异常。仅在尝试导航到具有不同Internet和Intranet区域的保护模式设置的Intranet应用程序时才会观察到此情况。如果Internet和Intranet区域的保护模式保持打开或关闭(两个区域保持相同),则问题将消失。

如果我关闭UAC(用户访问控制),即使Internet和Intranet区域的保护模式设置不同,也不会发生异常。

答案:转到IE选项,在内网和互联网安全下,启用或禁用保护模式需要匹配。

在我的情况下,我们的管理员强制互联网受到保护,因此我也必须处于Intranet的保护模式。

虽然我不能说我理解它是如何工作的,但我可以说在尝试导航到内部网之前我没有遇到任何问题。这可能解释了&#34;断开连接&#34;部分例外。

希望这有助于某人。