我正在为我的应用程序(C# 3.5)添加DDE,有时当我打开数千(6000)个DDE通道时,它会工作,有时,特别是在调试和excel崩溃期间,它只给我提供一些条目。
我怀疑DDE通道在Windows中仍然是“活动的”,当我尝试打开更多通道时,我达到了DDE通道的限制(10,000),然后并不是所有通道都有数据。
有没有办法在Windows中“清理”DDE引擎,让我重新开始?还是重启Windows是唯一的解决方案?
发布于 2011-01-14 02:57:53
如果您使用的是开放源码NDde (http://ndde.codeplex.com/),那么可以使用实现IDisposable模式的DdeClient类。然后在using块中使用客户端。这有效地创建了一个finally块,如果抛出异常,它应该关闭连接。例如,
using (DdeClient client = new DdeClient(DDE_SERVER_NAME, dataField))
{
client.Connect();
string data = client.Request("xyz", DDE_TIMEOUT);
}然而,我经历过同样的事情,尽管数据没有被一致地返回,但我没有打开数千个连接,所以这可能是一个不同的问题。
https://stackoverflow.com/questions/4644873
复制相似问题