- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 WndProc 覆盖中使用以下函数:
Public Function GetPortName() As String
Dim portNameData As String
Dim comPortNumber As String
Try
Dim portSearcher As New ManagementObjectSearcher("\root\CIMV2", "Select Name, PNPDeviceID from Win32_PnPEntity")
For Each port As System.Management.ManagementObject In portSearcher.Get()
If port("Name").ToString.ToUpper.Contains("(COM") Then
portNameData = port("Name").ToString
comPortNumber = port("Name").ToString.Substring(port("Name").ToString.IndexOf("(COM") + 4)
comPortNumber = comPortNumber.TrimEnd(")"c)
If port("PNPDeviceID").ToString.ToUpper.StartsWith("USB\VID_1234&PID_1234") Then
Return "COM" & comPortNumber
End If
End If
Next
Catch ex As Exception
End Try
Return ""
End Function
该函数工作正常,但我现在通过表单在新应用程序中使用它。在 For 循环的每次迭代中(在 For Each port As System...
行上),我收到以下消息:
DisconnectedContext was detected
Context 0x607fd8 is disconnected. No proxy will be used to service the request on the COM component. This may cause corruption or data loss. To avoid this problem, please ensure that all contexts/apartments stay alive until the application is completely done with the RuntimeCallableWrappers that represent COM components that live inside them.
我认为这是某种线程问题。如何从表单调用此函数而不发生此错误?
<小时/>我找到了a post on MSDN outlining a very similar problem problem 。那家伙说:
Sorry, don't waste your time. The code works fine when it's run in a simple console app. The problem arose when it was called in a Windows form responding to a DriveDetectorEvent.
我希望我能找出 Forms 应用程序中的不同之处。
<小时/>编辑和可能的解决方案:基于DisconnectedContext MDA when calling WMI functions in single-threaded application处的答案我认为这里的解决方案是在 WndProc 之外调用 GetPortName()
。今晚我将对此进行测试并发布我的结果。
最佳答案
阅读 DisconnectedContext MDA when calling WMI functions in single-threaded application 的答案后看来我的代码不起作用的原因是它是从 WndProc 调用的,阻塞了 WndProc。这会导致问题,因为编码需要泵送消息......但我已经阻止了。
就我的目的而言,只需扫描计时器就可以了。您可能必须寻找其他解决方案,例如在另一个线程上异步调用它。
关于vb.net - 使用 ManagementObjectSearcher 时检测到 DisconnectedContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5657310/
我有 RichTextBox,我从多线程中记录大量消息。一段时间后,我第一次收到“DisconnectedContext was detected”消息,我从 Debug->Exceptions...
我在 WndProc 覆盖中使用以下函数: Public Function GetPortName() As String Dim portNameData As String Dim
我正在尝试创建一个多线程应用程序,它将允许我 ping 数千台主机,ping 的结果被写入一个 richtextbox。 此应用程序执行后,一旦它遍历了一千个左右的地址,就会出现以下异常: Disco
我正在使用 codeplex 中的 LinqToActiveDirectory,当我使用 DirecotrySource 执行查询时,出现以下错误: 检测到 DisconnectedContext 消
我在 VS2005 中用 C#、.NET 3.0 编写了一个应用程序,具有监视各种可移动驱动器(USB 闪存盘、CD-ROM 等)插入/弹出的功能。我不想使用 WMI,因为它有时可能不明确(例如,它可
当我使用 Visual Studio 运行我的应用程序时,我总是得到一个 DisconnectedContext(托管调试助手)。鉴于谷歌和文档,当从其他线程调用 STA 上的 COM 对象时,可能会
我在调试 MSpec 测试时遇到了 DisconnectedContext 错误,即使是在包含空测试的新项目中也是如此。该消息表示托管调试助手在 C:\PROGRAM FILES (X86)\MICR
我在 VS2015 Enterprise 中运行单元测试时遇到了这个问题。每当我在 Debug模式下运行任何单元测试时,都会收到以下错误: 托管调试助手“DisconnectedContext”在“m
我为 Microsoft Word 构建了一个插件。当用户单击一个按钮时,它会运行多个进程,将 Microsoft Word 文档列表导出到 Filtered HTML。这很好用。 代码失败的地方在于
我是一名优秀的程序员,十分优秀!