我有一个现有的ASP.NET核心Web应用程序作为一个码头容器运行,并希望将其作为运行在Azure IoT边缘上的边缘模块提供。从文档中我知道我可以运行Azure函数、Stream和自定义模块(据我了解,这些模块只是集成到Azure IoT边缘运行时的控制台应用程序)。
将我的ASP.NET核心网络应用程序转换成边缘模块并与边缘集线器交互的最佳方法是什么?
最好的方法是使用自定义模块作为模板,将我的ASP.NET核心项目移到适合文件结构的位置,并编辑ASP.NET核心程序集以运行主程序集?
谢谢你的建议!
更新:我正在遵循上述方法。我创建了一个自定义边缘模块,并尝试使用以下步骤将其转换为最简单的ASP.NET Core:
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.1" />CreateWebHostBuilder(args).Build().Run();替换Main的内容我可以将容器作为Azure IoT边缘的一部分启动,但是容器不断地重新启动,所以我假设,我的方法不太正确。不幸的是,我也无法访问容器的控制台,因为它每隔几秒钟就重新启动一次.
sudo船坞ps .
4b23cdad5bc5 localhost:5000/simpleweb:0.0.1-amd64
"dotnet SimpleWeb.dll" 5 minutes ago Restarting (150) 58 seconds ago..。
PS:我正在使用物联网边缘开发容器进行测试,下面是快速启动:https://github.com/Azure/iotedgedev/wiki/quickstart-with-iot-edge-dev-container
发布于 2019-06-04 16:01:09
如果您的应用程序已经被容器化了,那么就不需要添加太多内容了,这样才能使它成为边缘模块:
ModuleClient moduleClient = await ModuleClient.CreateFromEnvironmentAsync(transportType);这应该很简单。您不需要从模块模板或Dockerfile开始。如果你看他们,真的没有魔法发生。
https://stackoverflow.com/questions/56446293
复制相似问题