我目前正在研究企業Intranet應用程序。我希望能夠讓用戶安裝一個Windows服務或某種可以與我們正在構建的ASP.NET網站進行交互的程序。允許網站通過本地安裝的服務與客戶端PC進行交互
的目標將是點擊網站上的一個按鈕,並允許它與當前用戶計算機的通信,從而使我創造的Outlook電子郵件草稿,以及只能與本地安裝的程序的其他任務。
我該如何解決這個問題?理想情況下,我們需要它在所有瀏覽器上工作,或者至少IE,Chrome和Firefox。
我目前正在研究企業Intranet應用程序。我希望能夠讓用戶安裝一個Windows服務或某種可以與我們正在構建的ASP.NET網站進行交互的程序。允許網站通過本地安裝的服務與客戶端PC進行交互
的目標將是點擊網站上的一個按鈕,並允許它與當前用戶計算機的通信,從而使我創造的Outlook電子郵件草稿,以及只能與本地安裝的程序的其他任務。
我該如何解決這個問題?理想情況下,我們需要它在所有瀏覽器上工作,或者至少IE,Chrome和Firefox。
如果您可以將客戶端操作系統限制爲Windows,那麼ClickOnce是最好的選擇。它受到所有主流瀏覽器的支持。
基本上,你創建一個桌面應用程序,並讓它從服務器部署。在客戶端時,應用程序可以與所有本地組件進行交互,因爲它在本地進行用戶授權。
我現在用我們的網站和客戶端電腦做類似的事情。基本上我們所擁有的是通過安裝程序安裝到每臺客戶端計算機上的DLL。然後在我們的網頁上,有一個小程序通過JNI調用DLL。當用戶單擊某個按鈕或鏈接時,小程序會與C++ DLL進行通信,該DLL調用C#DLL來執行客戶端代碼。
創建一個「worker」程序,該程序在本地運行並將其與某些文件擴展名(例如* .sbonskosky)相關聯。
當你的Web應用程序要發送一些工作本地程序,有它產生它是使用瀏覽器下載,並通過相關的程序「執行」一* .sbonskosky文件。與瀏覽器要求「打開或保存」PDF文件並選擇「打開」時類似,它將啓動Acrobat。
既然你有用戶的機器上運行的應用程序,你可以承載在該應用程序的WCF服務,並將其綁定到特定端口(44444說)。然後從您的Web應用程序發送http請求到localhost:44444。因此,當用戶點擊網頁上的一個按鈕時,它會向本地機器上運行的服務器發送請求。希望這可以幫助。
因此,WCF服務將安裝在每臺客戶端的機器上,該機器綁定到端口44444?但是,如果我向localhost發送請求,它不會將這些請求傳遞給Web服務器,而不是客戶端計算機? – sbonkosky
當瀏覽器向本地主機發送請求時,它將轉到在本地機器(用戶的機器)上運行的服務, –