簡體   English   中英

連接到設備ASP.NET MVC

[英]Connect to device ASP.NET MVC

我是ASP.NET MVC的新手,我必須開發一個網頁,該網頁使用其SDK(C#SDK)連接到指紋設備,捕獲指紋圖像並顯示設備的實時預覽。

如果設備連接到托管我的頁面的服務器,則該頁面工作正常。

問題是當客戶端打開網頁並連接設備時,為連接設備而編寫的代碼在服務器上運行,因此它不會檢測到客戶端設備(設備SDK已安裝在服務器上,因此它會檢測設備僅當它已連接到服務器時)。

我可以使用C#在客戶端運行設備代碼嗎?

您可能將無法直接從網頁中運行的代碼訪問設備。 一些設備制造商確實通過網絡提供了某些API(相機,GPS等),但僅以有限的方式提供。 除非它可以充當標准輸入設備(鍵盤或鼠標)並與輸入元素進行交互,否則您極不可能從網站訪問任意第三方設備。 例如,如果它可以在文本框中填充與指紋相對應的字符串,或者允許您拍攝指紋的圖片,然后可以通過文件輸入將其上傳,那么您也許可以使用它。

替代方法是編寫一個安全插件-Java Applet或ActiveX控件-該插件可以本地訪問設備並使用它通過JavaScript與您的網頁進行交互。 用戶必須允許加載插件,並允許其訪問設備才能正常工作。

Silverlight是可用於某些瀏覽器的插件,使您可以在客戶端上運行.NET(C#)代碼。 它類似於Adobe Flash或Java Applets。 該開發與開發WPF應用程序有些相似。

我會擔心的事情是,由於安全限制,您是否可以訪問該設備。 另外,請參閱tvanfosson對自己的回答的評論。 將基本的“ Hello,world!”放在一起應該相對簡單。 應用程序,以驗證您是否可以從Silverlight與您的設備通話。

另一個問題是,最后的Silverlight支持可能不是Microsoft的首要任務,並且它在非Microsoft平台上的支持有限。

您可能會考慮的另一種技術是ClickOnce應用程序。

對於需要幫助的其他人:我實現了一種自定義方式,可以從ASP.NET MVC網頁連接到連接到客戶端工作站的USB設備。 使用Web套接字 ,您可以創建自己的客戶端桌面應用程序(c#)以連接到設備。 該桌面應用程序將是Web套接字服務器,然后在您的網頁中,您可以實現Web套接字客戶端以連接到桌面應用程序。

客戶端樣本(JavaScript)

<script type="text/javascript">

    var ws = new WebSocket("ws://127.0.0.1:8080/service");

    ws.onopen = function ()
    {
    };
</script>

服務器樣本

static void Main(string[] args)
        {
            var wssv = new WebSocketSharp.Server.WebSocketServer(System.Net.IPAddress.Any, 8080);

            wssv.KeepClean = true;

            wssv.AddWebSocketService<Service>("/service");

            wssv.Start();
            if (wssv.IsListening)
            {
                Console.WriteLine("Listening on port {0}, and providing WebSocket services:", wssv.Port);
                foreach (var path in wssv.WebSocketServices.Paths)
                    Console.WriteLine("- {0}", path);
            }
            Console.WriteLine("\nPress Enter key to stop the server...");
            Console.ReadLine();

            wssv.Stop();
        }

有關JavaScript中的Web套接字的更多信息: HTML 5 Web套接字

另外,一個好的c#Web套接字庫: C#Web套接字

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM