0

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

4

2 回答 2

0

我不是该领域的专家,但我相信 DDE 要求您有一个正在运行的消息泵(控制台应用程序缺少此功能),因此在 WinForms 应用程序中托管 WCF 服务可能会更好。

于 2010-07-05T11:53:20.263 回答
0

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

如果我在没有 WCF 的控制台中运行侦听器,一切都很好

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

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

但是,当您混合 WCF 时,可能会增加一些复杂性,特别是涉及可能必须手动处理的线程。我能说的唯一方法是您是否提供更多信息。

于 2010-07-12T13:21:22.167 回答