我试图将我在IIS服务器上托管的网站移动到Azure网站.我正在使用COM对象,但我不确定我是否可以注册这个?我发现一些帖子谈论上传dll并在启动时注册它,但文章似乎缺失了.这可能吗?
我在Azure上注册旧版COM组件时遇到了这个确切的问题。我在这里记录了我的方法:
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)
这将触发命令文件在部署时运行。
您无法在 Azure 网站中注册 COM 对象。您需要升级到 Web 角色才能执行此操作。com 对象的注册可以在启动脚本期间发生。