Можно ли использовать ActiveX-компонент в проекте ASP.NET-WebAPI, размещенном в Azure WebApp? - PullRequest
2 голосов
/ 19 июня 2019

У меня есть небольшой ASP.NET WebAPI-проект, использующий ActiveX-компонент (без пользовательского интерфейса, просто простая функциональность).

Поскольку я хотел разместить эту вещь в Azure, я был совершенно уверен, что яне сможет зарегистрировать ActiveX-DLL в базовой ОС, поэтому без регистрации COM используется механизм SXS-manifest, описанный здесь: https://docs.microsoft.com/en-us/previous-versions/dotnet/articles/ms973913(v=msdn.10) и здесь http://blog.functionalfun.net/2012/09/a-quick-guide-to-registration-free-com.html.

Это все работает как чудо на моем локальном IIS, но в Azure кажется, что я не могу вызвать нативный метод CreateActCtxW из kernel32.dll через Dll-Import, что я должен сделать (среди прочего), чтобы проинформировать системузагрузить мой app-манифест.Вызов завершается успешно, но выдает -1.

Marshal.GetLastWin32Error говорит: «Не удалось запустить приложение, поскольку его параллельная конфигурация неверна. Пожалуйста, просмотрите журнал событий приложения или используйте командуУтилита line sxstrace.exe для более подробной информации "

Я попытался запустить sxstrace в базовой ОС, что дает мне" Отказано в доступе ".

Итак, мой вопрос: может ли ActiveX-DLLбыть зарегистрированным в базовой ОС Azure WebApp или , есть ли возможность заставить работать без COM-механизм COM?

...