2012-12-11 52 views
0

我在Azure中開發一個webrole運行,並且webrole需要從一個設備獲取輸入。當本地模擬運行時,webrole可以很好地與本地設備進行通信。但是,當部署在Azure中時,webrole無法從本地設備獲取輸入。azure webrole連接本地設備

btw,設備的驅動程序是c + + 32位dll,但我把它轉換成c#,因爲webrole是用c#編寫的。再次,webrole和設備在本地計算機中通信良好,但在Azure上部署webrole時似乎連接失敗。

請指教。謝謝。

回答

1

從您的描述中可以看出您的設備已連接到本地PC。當您在本地運行時,Web角色將在本地PC上運行,因此該設備可用。當您將webrole部署到雲中時,它不再能夠看到設備,因爲它不再在本地PC上運行。

將驅動程序安裝到您的Web角色正在運行的雲虛擬機中也無濟於事,因爲該設備仍連接到本地PC。

0

如果您的設備已插入本地PC並通過USB與您的應用程序進行通信,則無法從天藍色使用它。由於您無法從Azure虛擬機連接本地USB,也無法將設備發送到MS並插入運行應用程序的天青虛擬機。

但是,如果你真的想要,它可能是可能的。首先,您需要在設備前創建一個Web服務界面,以便通過網絡使用它。然後將有三種方法可以嘗試從天藍色中使用它。

  1. 使用服務總線中繼來公開您的Web服務。然後,您的天藍色應用程序可以從雲端與此服務進行通信,然後與您的設備進行通信。
  2. 使用Windows Azure Connect。我不確定它是否仍然可用,但是您可以使用它來創建PC和Azure VM之間的IP-sec連接。然後,您可以使用本地IP與您的Web服務進行通信。
  3. 使用新的Windows Azure虛擬網絡。我從來沒有試過這個功能,但它應該工作。

因此,必須通過引入Web服務層來打開本地設備。