如果打开它们的应用程序崩溃,打开的DDE频道会发生什么?

时间:2011-01-10 08:28:34

标签: c# .net windows dde

我正在为我的应用程序添加DDE(C#3.5),有时当我打开数千(6000)个DDE频道时,它有效,有时,特别是在调试和excel崩溃期间,它只给了我一些项目。 / p>

我怀疑DDE频道在Windows中仍处于“活动状态”,当我尝试打开更多频道时,我达到了DDE频道限制(10,000),然后并非所有频道都有数据。

有没有办法在Windows中“清理”DDE引擎,所以我会重新开始?或者正在重启Windows唯一的解决方案?

1 个答案:

答案 0 :(得分:0)

如果您使用的是开源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);
}

然而,我遇到了同样的事情,虽然数据没有被一直返回,但我没有打开数千个连接,所以它可能是一个不同的问题。