2014-11-09 4 views
-1

저는 ASP.NET MVC를 처음 사용하기 때문에 SDK (C# SDK)를 사용하여 지문 장치에 연결하고 지문 이미지를 캡처하고 장치에서 실시간 미리보기를 표시하는 웹 페이지를 개발해야합니다 .장치에 연결 ASP.NET MVC

장치가 내 페이지를 호스팅하는 서버에 연결되어 있으면이 페이지가 정상적으로 작동합니다.

클라이언트가 웹 페이지를 열고 장치를 연결하면 장치에 연결하도록 작성된 코드가 서버에서 실행되므로 클라이언트 장치가 검색되지 않습니다 (장치 SDK가 서버에 설치되어 있고, 따라서 서버에 연결되어있는 경우에만 장치를 감지합니다.

C#을 사용하여 클라이언트 측에서 장치 코드를 실행할 수 있습니까?

+0

가 클라이언트를 수행 그들의 측에 장치가? –

답변

0

도움이 필요한 사람들을 위해 : ASP.NET MVC 웹 페이지에서 클라이언트 워크 스테이션에 연결된 USB 장치에 연결하는 사용자 지정 방법을 구현했습니다. Web Sockets을 사용하면 자체 클라이언트 데스크톱 응용 프로그램 (C#)을 만들어 장치에 연결할 수 있습니다. 이 데스크탑 응용 프로그램은 웹 소켓 용 서버가 될 것이며 웹 페이지에서 웹 소켓 클라이언트를 구현하여 데스크탑 응용 프로그램에 연결할 수 있습니다.

클라이언트 샘플 (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(); 
     } 

더 : Html 5 Web Sockets.또한

, 좋은 C#을 웹 소켓 라이브러리 : C# Web Sockets

2

웹 페이지에서 실행되는 코드에서 직접 장치에 액세스 할 수는 없습니다. 일부 기기 제조업체는 웹 (카메라, GPS 등)에서 특정 API를 사용할 수 있도록 제한된 방식으로 만 제공합니다. 표준 입력 장치 (키보드 또는 마우스)로 작동하고 입력 요소와 상호 작용하지 않는 한 웹 사이트에서 임의의 타사 장치에 액세스 할 가능성은 거의 없습니다. 예를 들어 텍스트 상자에 지문에 해당하는 문자열을 채우거나 파일 입력을 통해 업로드 할 수있는 지문 사진을 찍을 수있는 경우이를 사용할 수 있습니다.

대체 방법으로는 장치를 기본적으로 액세스하고 JavaScript를 통해 웹 페이지와 상호 작용하는 보안 플러그인 (Java Applet 또는 ActiveX 컨트롤)을 작성하는 것입니다. 사용자는 플러그인이로드되도록 허용해야하며 플러그인이 작동하도록 장치에 액세스 할 수있는 권한을 부여해야합니다.

+0

이 경우 Silverlight가 유효한 옵션입니까? – mason

+0

아마, SilverLight에서 네이티브 장치에 액세스 할 때의 제한 사항이 무엇인지 모르겠습니다. 통합을위한 기술적 인 문제 외에도 원격 사용자가 기술을 속이거나 지문을 제공 할 수있는 능력에 대해 우려 할 것입니다. 필자는 일종의 2 단계 인증을 사용하는 것이 더 좋지 않을지 궁금합니다. 보안 인증을 위해 휴대 전화로 SMS를 통해 보내는 암호 및 코드와 같은 것입니다. – tvanfosson

1

Silverlight은 클라이언트에서 .NET (C#) 코드를 실행할 수있는 일부 브라우저에서 사용할 수있는 플러그인입니다. Adobe Flash 또는 Java 애플릿과 유사합니다. 개발은 WPF 앱 개발과 다소 비슷합니다.

보안 제한 사항으로 인해 기기에 액세스 할 수 있는지 여부는 내가 염려 할 것입니다. 또한 자신의 대답에 대한 tvanfosson의 의견을 참조하십시오. 기본 "Hello, world!"를 함께 사용하는 것이 상대적으로 간단해야합니다. 응용 프로그램을 사용하여 Silverlight에서 장치와 대화 할 수 있는지 확인합니다.

또 다른 걱정은 마지막 Silverlight 지원이 Microsoft에게 최우선 순위가 아니며 Microsoft 이외의 플랫폼에서도 제한적으로 지원된다는 것입니다.

고려할 수있는 또 다른 기술은 ClickOnce 응용 프로그램입니다.

관련 문제