Azure服务面料寄存器COM组件



我们想将ASP.NET WebAPI服务部署到Azure Service Fabric。
该服务使用数学com组件(32bit),该组件将在带有regsvr32的常规机器上注册。

该解决方案在本地服务面料群集(例如Windows Server 2012 R2)中完美工作。不幸的是,该组件没有可用的托管DLL,我们不想自己重写代码。

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

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

您可以使用com Interop:

tlbimp YourComDll.dll /out: YourDotNetWrapper.dll

然后使用您的服务面料服务中的YourDotNetWrapper.dll。您也许可以摆脱COM组件的" Xcopy"样式部署,即将其作为项目中的资源包括在内,并将其复制到输出文件夹中,例如。bin/Release

如果仍需要注册,则可以在代码中注册。

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

祝你好运!

您可以尝试通过启动使用regsvr32安装此com,看看是否有效。

以下是一些有关启动任务的注释。

最新更新