2011-03-09 87 views
0

我们有一个用作触摸屏覆盖的应用程序。它提供定制的触摸屏键盘和数字键盘,它们位于需要键盘输入的其他应用程序的顶部。如何使用代理类库和VB6客户端实现WCF回调

它被写入作为一个独立的VB6的ActiveX EXE并提供COM接口的应用程序,以请求键盘等在需要时被显示。按下按钮使用SendInput API从触摸服务器反馈到应用程序。

我一直要求看看使用WPF返工这种叠加也要看改善叠加和使用它的应用程序之间的联系。除个别按键外,我们也希望能够拥有代表网址或产品代码的按钮。

新的叠加层会使用WPF,将使用它都写在VB6的应用程序用C#编写。我在寻求如何最好地实现他们之间的双向通信的建议。

我的第一个想法是在覆盖中托管WCF服务并使用回调协议。应用程序将向叠加层注册并接收与叠加层按钮相关的通知按压回调合同。

的客户都VB6应用程序,但并因此将需要使用一个代理DLL的收官服务接口。我可以允许客户端通过这个接口注册/取消注册,但是Im不确定如何使用代理来实现回调。

而且客户端应用程序和覆盖可运行一段时间后,我该如何确保通信是持续稳定的?

我很感激您对任何与此方法相关的潜在问题/解决方案可能有的任何输入。或者,如果您认为WCF在这里是错误的选择,我很乐意考虑其他选项?

回答

0

你是否想象创建一个COM DLL作为WCF的包装,然后在VB6中使用这个对象?

如果是这样,那么你可以让DLL处理回调,然后抬起你使用WITHEVENTS对象VB6应用程序的内部处理COM接口上正常显示的事件。

使用WCF这听起来像一个合理的方法对我来说,尤其是当你在多个版本之间转换时。