在浏览器应用程序和.net Windows应用程序之间进行通信
Communicate between a browser application and .net Windows application
要求在。net客户端应用程序(windows应用程序)和javascript应用程序(在浏览器上运行)之间提供双工通信方法。
流1. 用户在他们的机器上安装客户端应用程序。2. 用户访问网站并登录到托管javascript应用程序的门户。3.如果用户在客户端。net应用程序上执行一个活动,javascript应用程序需要被通知。4. 如果用户在浏览器上的javascript应用程序上执行一个活动,则必须通知。net客户端应用程序。
可能的解决方案是1. Web服务器。net客户端应用程序,其中javascript应用程序使用Web套接字连接。然而,考虑到。net客户端应用程序可能在不同的端口上启动web服务器,如果端口在使用中,javascript应用程序可能无法识别web服务器正在运行的端口。2. 在javascript应用程序上运行activeX。activeX和。net应用程序都将通过WCF通过本地命名管道连接。不好的地方是使用activex会在你加载web应用程序时显示一个弹出窗口。
你知道解决这个问题的更好办法吗?我们已经成功地使用WebSockets在浏览器内Javascript和运行WebSocket服务器的外部应用程序之间进行双工通信。它非常高效,并且(至少从去年开始)绕过了所有浏览器沙盒限制。我不是100%理解你问题的这一部分:
然而,鉴于。net客户端应用程序可能在不同的端口上启动web服务器,如果端口在使用中,javascript应用程序可能无法识别web服务器在
上运行的端口
. net应用程序可以在它想要的任何端口上运行套接字服务器。如果你正在编写两个应用程序,我不认为在特定端口上同步会是一个问题。最坏的情况是,桌面应用程序可以将端口写入本地存储,而JS可以通过本地存储获取端口。还有其他方法可以同步这个
SignalR是一个通信API,它有。net和javascript的客户端库,而服务器库是建立在asp.net之上的。网络堆栈。
使用它,您可以构建允许client (js) <-> server <-> client (.NET)
通信的解决方案。
这里有一些有用的链接,让你开始:
- SignalR主页
- 教程在这里
- 处理场中服务器之间的SignalR通信
- SO问题:SignalR .NET客户端应用程序示例
- 多个应用程序之间的通信
- 带有webkit和PhoneGap的iPhone原生应用程序之间的差异
- 在不同端口上运行时,rest api应用程序服务器(express)和Angulars js应用程序之间的Cors问题
- Angular 模板缓存是否在应用程序之间共享?是不是坚持不懈
- 在 ExtJS 4 应用程序之间共享模型
- 有场景和没有场景的三星智能电视应用程序之间的区别
- 如何在多个角度应用程序之间共享相同的配置
- 本机浏览器和Android应用程序之间是否有可能和交互
- 如何在角度应用程序之间共享过滤器
- 在AngularJS应用程序中本地持久化数组数据,以便在两个应用程序之间共享
- 使用Websockets在两个JAVA web应用程序之间进行通信
- NodeJS用于网站和桌面应用程序之间的实时通信
- 如何在angularjs中的两个应用程序之间共享数组
- 多个web应用程序之间的JavaScript本地存储
- 浏览器插件与C#应用程序之间的通信
- 在一个页面上的多个Aurelia应用程序之间移动数据
- 如何在2个angularjs应用程序之间共享数据
- 如何使用Aurelia在登录页面和应用程序之间切换
- web应用程序和原生android应用程序之间的通信
- 提供web浏览器和Java应用程序之间的接口