从控制台应用程序中托管的WCF服务建立DDE连接

时间:2010-07-05 11:30:10

标签: wcf dde

我在控制台应用中托管了WCF服务。服务尝试通过DDE协议连接到打开的Windows应用程序。没运气。问题出在哪儿?控制台应用程序正在我的帐户中运行,作为dde windows app。

2 个答案:

答案 0 :(得分:0)

我不是这个领域的专家,但我相信DDE要求你有一个正在运行的消息泵(控制台应用程序缺少),所以你可以更好地在WinForms应用程序中托管你的WCF服务。

答案 1 :(得分:0)

你提供的关于这个问题的细节很少,几乎不可能给你一个明确的答案。但是,你对Allon答案的评论很有意思。

  

如果我在没有控制台的情况下运行监听器   WCF,一切都很好

所以你的DDE应用程序正在倾听什么?我现在必须假设您已尝试创建一个通过DdeClient.StartAdvise订阅咨询循环的DDE客户端。这种数据检索方法高度依赖于消息泵送机制。

当您创建DdeClient的实例时,它将默认在单独的线程上创建自己的消息泵以接收这些通知。这可以解释为什么当您将代码保留在基本控制台应用程序中时它会起作用。

但是,当您混合使用WCF时,可能会出现一些额外的复杂性,特别是涉及可能必须手动处理的线程。我能告诉你的唯一方法就是提供更多信息。