我希望我的网络应用程序(在浏览器中运行)在某些时候与桌面应用程序(在Windows中)进行通信(双向),客户端已安装在其计算机中。
这是一种优雅,模块化和简单的方法(使用Java和C#)?
在网络应用和桌面应用之间传递的信息不多。就像“我在这里”,“从这一点上选择”等等。
答案 0 :(得分:2)
我通过在网络上使用数据库解决了这个问题。 通过数据库进行的所有通信。
网站 - > DB - >用户登录< - DB< - Desktop
但是,如果不需要共享可信任信息,您可以考虑将一些http标题发布和读取到公共网站或简单的日志文件。
问候
答案 1 :(得分:1)
我建议您使用webapp的后端部分,假设您的应用基于某些后端服务。
您有两种选择:
我首选的解决方案是在前端和后端分离Web应用,将服务公开为REST,Web应用通过AJAX使用。
如果我需要与其他桌面应用程序进行真正的双向通信,我将为它创建一个单独的服务/端点。 (APE,WCF,..)
答案 2 :(得分:1)
我看到了几个选项来实现你所要求的部分:
您通常会通过某种API公开应用程序的相关部分(Web和桌面),并将其用于通信 - 例如DB和/或WCF(SOAP / REST /无论如何)。
要注意:
如果您在同一台计算机上的两个应用程序之间进行某种直接/交互式通信,那么这是不可能的 - 至少在没有一些安全相关问题的情况下。
浏览器在沙箱中执行您的Web应用程序,该沙箱不允许Web应用程序和桌面之间的直接通信...有些技术可以帮助规避(ActiveX,签名的Java小程序,一些名为AIR的Flash技术)等等...)或者您可以在桌面应用程序中托管一些webbrowser / control,然后运行Web应用程序...但基本上我建议不要使用任何此类措施......
如果你真的想走这条路,那么请详细描述你的环境和目标。