我有這個奇怪的要求,從asp.net應用程序訪問掃描儀,條碼閱讀器,相機等。既然這些都是本地資源,我知道不可能這樣做。我想知道是否有其他解決方案來解決這個問題。訪問掃描器,條形碼,相機與asp.net應用程序
我正在考慮創建一個在本地系統上運行的windows服務,並打開一個端口並聽取它並完成所需的工作。我想知道是否有一種方法可以使用JS或其他庫或activex從asp.net頁面向本地端口發送某種消息。
如果你有完全不同的解決方案,我全部耳朵。
我有這個奇怪的要求,從asp.net應用程序訪問掃描儀,條碼閱讀器,相機等。既然這些都是本地資源,我知道不可能這樣做。我想知道是否有其他解決方案來解決這個問題。訪問掃描器,條形碼,相機與asp.net應用程序
我正在考慮創建一個在本地系統上運行的windows服務,並打開一個端口並聽取它並完成所需的工作。我想知道是否有一種方法可以使用JS或其他庫或activex從asp.net頁面向本地端口發送某種消息。
如果你有完全不同的解決方案,我全部耳朵。
我們解決了類似的問題(票據打印機連接到串行端口)通過創建一個小的應用程序(TCL/TK原來,因爲它在Win/Mac/Lin上運行良好,但是自從單聲道長大以來C#/ .NET現在運行良好),即
這樣,它是從來沒有通過線路傳輸,但可用於客戶端的JS代碼。該助手應用程序已經啓動瀏覽器
後,它使用長輪詢和會話令牌(已知的瀏覽器和助手應用程序)與網絡服務器進行通信 - 作爲一個客戶端片面應用它可以與peripherial溝通相當自然。
100的印刷這樣的門票1000的的...
編輯: 是的,我知道這一點變得越來越長,但我需要(並要求)進行闡述。
如果你想避免前往該ActiveX/Silverlight的/無論走哪條路線,我強烈建議,需要4名球員:
您的基本問題是,1需要跟4,但不能。所以你選擇了兩條平行的路徑:通信意味着用戶在服務器和瀏覽器之間交換,而通信意味着設備在服務器和代理之間交換,後者將其轉發給設備(反之亦然)。
代理是一個非常簡單的應用程序,它通過操作系統設備與設備進行通信(如何完成這些操作取決於設備),並通過HTTP請求與Web服務器通信。
根據,其上的信息的方向流動,你需要:
現在剩下的問題是,如何與設備相關的瀏覽器中的人類行爲行動 - 簡而言之:服務器如何將您在您的瀏覽器中選擇的票據發送到您的票證打印機,而不是任何打印機接下來長時間投票。
要解決這個問題,使用會話ID是很自然的事情 - 但它需要瀏覽器和代理都知道相同的會話ID。要做到這一點,你需要將它從一個傳達給另一個。由於您無法將其從瀏覽器傳達給代理(或者這個討論會沒有實際意義),您需要反過來進行溝通 - 並且URL中的錨點是實現這一目標的工具。你做到以下幾點:
cmd.exe /c start "http[s]://domain.tld/start.aspx?x=y#sessiontoken"
)您可以使用ActiveX來做到這一點,或者Silverlight(或Flash)可以提供有限的支持(至少在我的經驗相機,麥克風和掃描儀)。
但是,鑑於以前的經驗與您嘗試做什麼有關的事情,我會建議您更好地購買一個SDK prebuilt。
成像:
條碼:
http://www.tec-it.com/software/barcode-software/tbarcode/barcode-generator/Default.aspx
這聽起來很有趣,但我無法遵循你的答案。 – Asdfg
更新我的答案,請耐心等待 –
完成更新答案。 –