我希望我的Web應用程序(在瀏覽器中運行)在某些時候與桌面應用程序(在Windows中)進行通信(雙向),客戶端已安裝在其計算機中。Web和桌面應用程序之間良好的溝通方式
什麼是優雅的模塊化和簡單的方法(使用Java和C#)?
Web應用程序和桌面應用程序之間傳遞的信息不多。就像「我在這裏」,「從這一點挑選」等。
我希望我的Web應用程序(在瀏覽器中運行)在某些時候與桌面應用程序(在Windows中)進行通信(雙向),客戶端已安裝在其計算機中。Web和桌面應用程序之間良好的溝通方式
什麼是優雅的模塊化和簡單的方法(使用Java和C#)?
Web應用程序和桌面應用程序之間傳遞的信息不多。就像「我在這裏」,「從這一點挑選」等。
我通過在網絡上使用數據庫解決了這個問題。 通過數據庫進行的所有通信。
網站 - >數據庫 - >用戶登錄< - DB < - 桌面
然而,如果需要共享沒有可信的信息,你可以考慮只發布和閱讀的HTTP標頭,以一個共同的網站,或一個簡單的日誌文件。
問候
我建議你用你的web應用的後端部分,假設你的應用程序是基於一些後端服務。
你有兩個選擇:
我的首選解決方案是分離前端和後端的Web應用程序,將Web應用程序通過AJAX公開爲REST。
如果我需要與其他桌面應用程序進行真正的雙向通信,我將爲它創建一個單獨的服務/端點。 (APE,WCF,..)
我看到幾個選項來實現的部分你問:
Besically你通過某種API和使用的暴露你的應用程序(Web和桌面)的相關部分爲通信 - 例如數據庫和/或WCF(SOAP/REST /無論)。
當心:
如果你是某種在同一臺計算機上的應用程序,那麼這將是不可能的直接/互動溝通之後 - 至少在沒有一些安全相關的問題。
瀏覽器在沙箱中執行您的Web應用程序,該沙箱不允許在Web應用程序和桌面之間進行直接通信......有些技術可以幫助規避這種情況(ActiveX,已簽名的Java小程序, AIR等)......或者你可以在你的桌面應用程序中託管一些網頁瀏覽器/控件,然後運行該Web應用程序......但基本上我會建議不要使用任何這樣的措施...
如果你真的想走這條路線,那麼請詳細描述你的環境和目標。
您是否希望網絡應用程序調用桌面應用程序或以其他方式進行調用? – Yahia
@Yahia:兩種方式。 –
看到我的答案下面的一些選項... – Yahia