Azure Service Fabric注册COM组件

时间:2017-02-22 19:31:20

标签: azure com microservices azure-service-fabric

我们希望将ASP.NET WebApi服务部署到Azure Service Fabric。
该服务使用数学COM组件(32位),该组件将使用regsvr32在常规计算机上注册。

该解决方案在本地Service Fabric群集(例如Windows Server 2012 R2)上运行良好。 遗憾的是,该组件没有可用的托管dll,我们不希望自己重写代码。

所以我的问题是,我们可以将此服务部署到Azure托管的Service Fabric吗?
如果是,怎么样?

2 个答案:

答案 0 :(得分:1)

您如何通过PInvoke在本地群集上调用它?有几个想法可以提供帮助:

您可以使用COM Interop

tlbimp YourComDll.dll /out: YourDotNetWrapper.dll

然后使用Service Fabric服务中的YourDotNetWrapper.dll。你可能能够躲过" xcopy" COM组件的样式部署,即将其作为项目中的资源包含在内,并将其复制到输出文件夹,例如bin/Release

如果仍需要注册,可以使用Process.Start("regsvr32...")via code (PInvoke)在代码中注册 - 认为您可能需要提升Service Fabric的权限。

您需要一种机制来仅注册一次,以避免向注册表发送垃圾邮件。也许是Reliable Dictionary of [NodeName],[IsOurComRegistered],或者只是在注册之前检查它是否已注册。

祝你好运!

答案 1 :(得分:0)

您可以尝试通过StartUp使用regsvr32安装此COM,看看是否可行。

Here are some notes on Startup Tasks

相关问题