要求是在作为Windows应用程序的.net客户端应用程序和运行在浏览器上的javascript应用程序之间提供双工通信方法。在浏览器应用程序和.net Windows应用程序之间进行通信
流程为 1.用户在其机器上安装客户端应用程序。 2.用户访问该网站并登录到托管JavaScript应用程序的门户。 3.如果用户在客户端.net应用程序上执行活动,则需要通知JavaScript应用程序。 4.如果用户在浏览器上的JavaScript应用程序上执行活动,则必须通知.net客户端应用程序。
尝试的可能解决方案是 1. Web服务器.net客户端应用程序,其中JavaScript应用程序使用Web套接字连接。但是,如果.net客户端应用程序可能会在最初打算的不同端口上启动网络服务器,如果使用的端口中,JavaScript应用程序可能无法识别Web服务器正在运行的端口。 2.在javacript应用程序上运行activeX。活动的X和.net应用程序都将通过WCF通过本地命名管道进行连接。不好的部分是使用活动的X,在加载Web应用程序时会立即弹出。
您知道更好的解决方案吗?
如果指定端口,被其他应用程序使用(一般不会).net套接字服务器将无法启动并将r有意在另一个港口启动。如果你在一台机器上启动应用程序,然后做一个切换用户,在另一个用户上并再次启动应用程序,这可以被复制。 .net客户端会意识到端口正在使用中,并且可以选择不启动服务器或选择另一个端口。在这种情况下,没有通知JavaScript应用程序的机制。 – user3614386
这就是为什么我提到了本地存储:) .NET应用程序可以将“正在服务的活动端口”写为本地存储设置。当它连接时,Javascript可以从本地存储中读取相同的内容。 .NET应用程序可以写入的任何介质以及JS应用程序都可以读取的介质可以解决此问题,不是吗?我的问题是:我们可以解决这个*没有*元数据。 –
我错过了你说的保存到本地存储的部分。如何从Java脚本访问本地存储? – user3614386