【发布时间】:2011-06-15 22:59:52
【问题描述】:
我正在运行的大型操作中收到以下消息:
CLR 无法转换 从 COM 上下文 0x1fe458 到 COM 上下文 0x1fe5c8 持续 60 秒。这 拥有目的地的线程 上下文/公寓最有可能 要么进行非抽水等待,要么 处理很长时间的运行 无抽水操作 Windows 消息。这种情况一般有 负面的性能影响,并可能 甚至导致应用程序变成 无响应或内存使用 随着时间的推移不断积累。到 避免这个问题,全单 线程单元 (STA) 线程 应该使用抽水等待原语 (例如 CoWaitForMultipleHandles)和 在很长一段时间内定期发送消息 运行操作。
如何发送 Windows 消息,以便在长时间操作时不再出现此错误?
【问题讨论】:
-
有完整源代码的最终解决方案吗?
标签: c# message-pump