2017-02-22 66 views
0

Мы хотим развернуть службу ASP.NET WebApi для Azure Service Fabric.
Служба использует математический COM-компонент (32 бит), который будет зарегистрирован на обычной машине с помощью regsvr32. Azure Service Регистр ткани COM компонент

Решение прекрасно работает на локальном кластере из кластера услуг (например, Windows Server 2012 R2). К сожалению, для этого компонента нет управляемых dll, и мы не хотим переписывать код самостоятельно.

Таким образом, мой вопрос заключается в том, можем ли мы развернуть эту услугу на базе сервисов Azure?
И если да, то как?

+0

Привет, вы нашли решение? У меня такая же проблема. –

ответ

0

Вы можете попробовать установить этот COM с помощью regsvr32 через StartUp и посмотреть, будет ли это работать.

Here are some notes on Startup Tasks.

+0

Вы имеете в виду regsvr32, правильно? Мы попробуем это, спасибо. – djflocko

1

Как вы называете это локальным кластером - через PInvoke? Несколько идей, чтобы помочь:

Вы можете использовать COM Interop:

tlbimp YourComDll.dll /out: YourDotNetWrapper.dll

Затем используйте YourDotNetWrapper.dll от вас службы Service Fabric. Возможно, вам удастся избежать развертывания стиля «xcopy» компонента COM, т. Е. Включить его в качестве ресурса в ваш проект и скопировать его в выходную папку, например. bin/Release.

Если его еще нужно зарегистрировать, вы можете зарегистрировать его в коде с помощью Process.Start("regsvr32...") или via code (PInvoke) - подумал, что вам может потребоваться повысить привилегии на Сервисной Ткань.

Вам понадобится механизм регистрации его только один раз, чтобы избежать рассылки реестра. Может быть, Reliable Dictionary of [NodeName],[IsOurComRegistered] или просто проверить, зарегистрировано ли оно до регистрации.

Удачи вам!