2013-10-29 40 views
2

我目前正在開發一個ASP.Net MVC4應用程序來自動化生產工作流程。 我的客戶希望解決方案是「零佔用」,因此完全在瀏覽器中運行。從瀏覽器內使用稱重秤的串行/並行通信

我無法想象如何處理的一個問題是從稱重秤的數據中,從頁面內部連接到客戶端的串行/並行端口。 (很明顯,這不能從網頁後端完成...)

我一直在四處挖掘,假設這可能是通過javascript/jquery,但由於這是運行在瀏覽器中的沙箱,假設這樣卡住...

我考慮的方法之一是編寫一個自託管的WCF Web服務,以在連接了該擴展的客戶端上運行(由Windows服務或控制檯應用程序左右託管)顯示刻度讀數。理論上,這將允許我使用我的MVC C#代碼中IIS後端的web服務並將其提供給客戶端。

這種方法的唯一問題是,這需要將應用程序託管在本地,我們希望將該應用程序託管在外部提供程序中。

是否沒有辦法在客戶端專門處理這個問題? 我無法想象我是第一個遇到這個問題的人,但我似乎無法通過在網上搜索找到我要找的東西...

有什麼想法嗎?

在此先感謝! Stijn,Belgium

+1

你不能從單純的客戶端代碼定製硬件交互。瀏覽器擴展可能有幫助 – SLaks

+0

ActiveX組件?? – Omar

回答

0

您絕對必須在系統上運行一個進程,該進程可以訪問硬件以支持從任何硬件接口進行讀取。您有很多選擇 - 它可能是一個本地服務運行,可以讀取串行端口並向瀏覽器公開一個簡單的HTTP端點。你也可以做的IE瀏覽器或ActiveX式控制瀏覽器擴展爲Chrome:

http://developer.chrome.com/apps/app_usb.html

+0

嗨Dave,所以我創建一個WCF服務在客戶端上運行暴露一個http端點的方法不是一個壞主意嗎?他們唯一遇到的困難就是如何從瀏覽器中使用它......如何實現這一目標?通過jquery.ajax()指向該端點並在回調中進行部分頁面刷新? –

+0

我會設計一個安裝程序來查找一個開放的HTTP端口並將其指定爲您的應用程序的保留端口。您可以將Katana視爲不需要IIS的輕型服務器的選項:http://msdn.microsoft。COM/EN-US /雜誌/ dn451439.aspx –

0

正如後續:

我結束了創建用戶控制,讀出的COM-端口通過的CreateFile打開COM端口的PInvoke的...

偉大工程,與客戶端等上運行的外部進程沒有麻煩......

是否熱曲IRE完全信任在瀏覽器中,但是這是可以接受的,因爲它會在客戶端上我們的控制下運行...

grtz, 斯泰恩

相關問題