要求是在作爲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