【发布时间】:2013-04-17 03:34:35
【问题描述】:
我正在尝试将我在具有 IIS 的服务器上托管的网站移动到 Azure 网站。我正在使用 COM 对象,但我不确定是否可以注册它?我发现一些帖子谈论上传 dll 并在启动时注册它,但该文章似乎丢失了。这可能吗?
【问题讨论】:
我正在尝试将我在具有 IIS 的服务器上托管的网站移动到 Azure 网站。我正在使用 COM 对象,但我不确定是否可以注册它?我发现一些帖子谈论上传 dll 并在启动时注册它,但该文章似乎丢失了。这可能吗?
【问题讨论】:
我在 Azure 上注册旧版 COM 组件时遇到了这个确切的问题。我在这里记录了我的方法:
AspPDF and AspJPEG on Windows Azure
Igorek 是正确的,您需要使用 Web 角色来实现这一点。上面的解决方案是基于单个 Web 角色和一个启动脚本来运行 regsvr32 作为启动任务。
总而言之,实现这一点基本上有两个部分。首先创建一个批处理文件来运行regsvr32命令:
chcp 1252>NUL
regsvr32 /s .\library\my-com-class.dll
exit /b 0
然后在你的 ServiceDefinition.csdef 文件中定义一个启动任务:
<Startup>
<Task commandLine="mybatchfile.cmd" executionContext="elevated" taskType="simple" />
</Startup>
这将触发命令文件在部署时运行。
【讨论】:
您不能在 Azure 网站中注册 COM 对象。您需要升级到 Web 角色才能执行此操作。 com 对象的注册可以在启动脚本期间进行。
【讨论】: