掃碼器服務(wù)注入和使用.此處為了方便,我直接創(chuàng)建一個api控制器來演示,并對ICodeReader進行了構(gòu)造函數(shù)注入。大佬們請自行根據(jù)實際情況進行操作。
假設(shè)有一個方法,或者接口等,傳入一批掃碼設(shè)備的配置信息,例如配置文件讀取、數(shù)據(jù)庫讀取、或者其他任意方式配置的掃碼器集合信息,傳給連接接口或者方法等。然后根據(jù)傳入的配置信息,進行對每個設(shè)備通信連接:
大揭秘!.Net如何在5分鐘內(nèi)快速實現(xiàn)物聯(lián)網(wǎng)掃碼器通用掃碼功能?
當(dāng)前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
不管你是用.net framework還是用.net core或者更高版本.net環(huán)境,這篇文章也許都能幫到你!因為接下來我會提供一個簡單粗暴的方式,來快速實現(xiàn)多款掃碼器的通用掃碼功能。目前本地測試過的包括基恩士系列、康耐視系列、以及其他支持以太網(wǎng)通信的多款小眾廠家等。 下面開始重點操作: 首先,在你的項目里面引用Wesky.Net.OpenTools 包,1.0.7以及以上版本均可。 如果你是在.netframework環(huán)境下面開放,或者是沒有使用依賴注入的項目中使用,使用方式可以直接new一個對象來使用,有關(guān)使用如下代碼:
當(dāng)然,強烈建議你們的項目使用.net core或以上環(huán)境。畢竟.net core是開源的,還可以跨平臺,不管你是在Windows運行還是在Linux,都可以運行。 下面是在.net core或以上環(huán)境下的使用。例如我新建一個.net 8的webapi項目, 對ICodeReader接口和CodeReader類進行依賴注入的注冊,建議使用瞬時生命周期,可以提高多個掃碼器同時存在時的并發(fā)掃碼效率。 例如:builder.Services.AddTransient<ICodeReader, CodeReader>();
建議新建一個全局實體類屬性,用于存儲掃碼器的所有客戶端實例,用于保持實例長連接。 例如:
掃碼器服務(wù)注入和使用.此處為了方便,我直接創(chuàng)建一個api控制器來演示,并對ICodeReader進行了構(gòu)造函數(shù)注入。大佬們請自行根據(jù)實際情況進行操作。
假設(shè)有一個方法,或者接口等,傳入一批掃碼設(shè)備的配置信息,例如配置文件讀取、數(shù)據(jù)庫讀取、或者其他任意方式配置的掃碼器集合信息,傳給連接接口或者方法等。然后根據(jù)傳入的配置信息,進行對每個設(shè)備通信連接: 訪問掃碼函數(shù),進行觸發(fā)掃碼操作。以下案例僅供參考,請根據(jù)個人實際情況進行優(yōu)化或者修改。例如修改掃碼次數(shù)、掃碼成功或失敗的其他處理等等。 控制器內(nèi)所有代碼如下:
其他介紹:掃碼器配置參數(shù)和通用返回值參數(shù)對應(yīng)實體類說明。 掃碼器客戶端配置實體類:
返回值實體類:
轉(zhuǎn)自微信公眾號Dotnet Dancer 該文章在 2024/5/30 15:50:12 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |