我在 Azure 中开发了一个 webrole 运行,该 webrole 需要从一台设备获取输入。webrole 在本地仿真中运行时可以与本地设备进行良好的通信。但是在 Azure 中部署时,webrole 无法从本地设备获取输入。
顺便说一句,设备的驱动程序是 c++ 32bit dll,但我将它变形为 c#,因为 webrole 是用 c# 编写的。再次,webrole 和设备在本地计算机上通信良好,但是当 webrole 部署在 Azure 上时似乎连接失败。
请指教。谢谢。
根据您的描述,您的设备似乎已连接到本地 PC。当您在本地运行时,Web 角色将在您的本地 PC 上运行,因此该设备可用。当您将 webrole 部署到云中时,它无法再看到该设备,因为它不再在您的本地 PC 上运行。
此外,在运行 Web 角色的云 VM 中安装驱动程序也无济于事,因为该设备仍连接到本地 PC。
如果您的设备已插入本地 PC 并通过(例如 USB)与您的应用程序通信,则无法从 azure 使用它。由于您无法从 azure VM 连接本地 USB,也无法将设备运送到 MS 并插入运行您的应用程序的 azure VM。
但如果你真的想要,它是可能的。首先,您需要在设备前面创建一个 Web 服务接口,以便可以通过网络使用它。然后,您可以尝试从 azure 使用三种方法。
所以本质上,你必须通过引入一个网络服务层来打开你的本地设备。