Azure COM对象

the*_*220 7 com azure web

我试图将我在IIS服务器上托管的网站移动到Azure网站.我正在使用COM对象,但我不确定我是否可以注册这个?我发现一些帖子谈论上传dll并在启动时注册它,但文章似乎缺失了.这可能吗?

QFD*_*Dev 6

我在Azure上注册旧版COM组件时遇到了这个确切的问题。我在这里记录了我的方法:

Windows Azure上的AspPDF和AspJPEG

Igorek是正确的,您将需要使用Web角色来实现。上面的解决方案基于具有启动脚本的单个Web角色,该脚本可以将regsvr32作为启动任务运行。

总而言之,实现这一点基本上有两个部分。首先创建一个批处理文件以运行regsvr32命令:

chcp 1252>NUL
regsvr32 /s .\library\my-com-class.dll
exit /b 0
Run Code Online (Sandbox Code Playgroud)

然后在ServiceDefinition.csdef文件中定义一个启动任务:

<Startup>
<Task commandLine="mybatchfile.cmd" executionContext="elevated" taskType="simple" />
</Startup>
Run Code Online (Sandbox Code Playgroud)

这将触发命令文件在部署时运行。


Igo*_*rek 3

您无法在 Azure 网站中注册 COM 对象。您需要升级到 Web 角色才能执行此操作。com 对象的注册可以在启动脚本期间发生。

  • Web 角色是云服务的一部分。您需要在 Visual Studio 中创建一个云服务 (WebROle),在其下添加现有项目,检测 COM 对象的启动脚本注册,并确保没有其他内容需要修复/更改。另外,预计 WebRoles 将与至少 2 个服务器一起运行,因此状态和会话需要与此兼容 (2认同)