2012-12-11 3 views
0

Azure에서 하나의 webrole 실행을 개발했으며 Webrole은 하나의 장치에서 입력을 받아야합니다. webrole은 로컬 시뮬레이션에서 실행될 때 로컬 장치와 잘 통신 할 수 있습니다. 그러나 Azure에 배포 할 때 Webrole은 로컬 장치에서 입력을 얻을 수 없습니다.azure webrole이 로컬 장치를 연결합니다.

btw, 장치의 드라이버는 C++ 32 비트 dll이지만 webrole은 C#으로 작성되어 있으므로 C#으로 왜곡됩니다. 다시, webrole과 장치는 로컬 컴퓨터에서 잘 통신하지만, Webrole이 Azure에 배포되면 연결이 실패한 것처럼 보입니다.

알려 주시기 바랍니다. 감사.

답변

1

귀하의 설명에 따르면 장치가 로컬 PC에 연결되어있는 것처럼 보입니다. 로컬에서 실행하면 웹 역할이 로컬 PC에서 실행되므로 장치를 사용할 수 있습니다. 클라우드에 웹 롤을 배포하면 더 이상 로컬 PC에서 실행되지 않아 더 이상 장치를 볼 수 없습니다.

또한 웹 롤이 실행중인 클라우드 VM에 드라이버를 설치하면 장치가 여전히 로컬 PC에 연결되어 있기 때문에 도움이되지 않습니다.

0

장치가 로컬 PC에 연결되어 있고 예를 들어 USB를 통해 응용 프로그램과 통신하는 경우 하늘빛에서 사용할 수 없습니다. azure VM에서 로컬 USB를 연결할 수 없으므로 장치를 MS에 제공하거나 응용 프로그램을 실행중인 하늘빛 VM에 연결할 수 없습니다.

하지만 실제로 원하는 경우 가능할 수 있습니다. 먼저 네트워크를 통해 사용할 수 있도록 장치 앞에 웹 서비스 인터페이스를 만들어야합니다. 그러면 하늘에서 사용할 수있는 세 가지 방법이 있습니다.

  1. 웹 서비스를 노출하려면 서비스 버스 릴레이를 사용하십시오. 그런 다음 푸른 색 응용 프로그램은 클라우드에서이 서비스와 통신 한 다음 장치와 통신 할 수 있습니다.
  2. Windows Azure Connect를 사용하십시오. 아직 사용 가능한지 확실하지 않지만 PC와 azure VM간에 IP-sec 연결을 생성하는 데 사용할 수 있습니다. 그런 다음 로컬 IP를 사용하여 웹 서비스와 통신 할 수 있습니다.
  3. 새로운 Windows Azure 가상 네트워크를 사용하십시오. 나는이 기능을 사용 해본 적이 없지만 작동해야합니다.

기본적으로 웹 서비스 레이어를 도입하여 로컬 장치를 열어야합니다.