使用C#中的NDde项目(http://ndde.codeplex.com/)从DDE服务器读取数据。通常,DdeClient 方法 Request() 将返回“#No Data”。再次调用同样的方法,就会返回数据。为什么会发生这种情况?
如何解决?请注意,我尝试将 Request() 调用放入循环中,这样如果没有返回数据,它将重试给定的次数。然而,即使循环 10 次数据,有时仍然会返回“无数据”。但是,如果我设置断点,第二次几乎总是会返回数据。我猜这是因为请求之间的时间较长。
最佳答案
为什么不使用建议功能而不是请求功能。为此,请订阅 Advise 事件?
client.Advise += OnAdvise;
其中 OnAdvise 是事件处理程序方法。然后启动建议循环。
client.StartAdvise("myitem", 1, true, 60000);
现在,当数据可用时,Advise 事件将触发,您将从 EventArgs 获取数据。
关于c# - DDE:C# NDde DdeClient.Request 频繁返回 "No Data"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4684359/