【问题标题】:Azure COM ObjectsAzure COM 对象
【发布时间】:2013-04-17 03:34:35
【问题描述】:

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

【问题讨论】:

    标签: azure com web


    【解决方案1】:

    我在 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>
    

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

    【讨论】:

    • 你把cmd文件放在Project结构的什么地方?你能把答案扩大一点吗?谢谢
    【解决方案2】:

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

    【讨论】:

    • 你是怎么做到的?我正在查看仪表板,但没有看到任何有关 Web 角色的信息。
    • Web 角色是云服务的一部分。您将需要在 Visual Studio 中创建一个云服务 (WebROle),在其下添加现有项目,检测您的 COM 对象的启动脚本注册,并确保无需修复/更改其他任何内容。此外,预计 WebRoles 将与至少 2 个服务器一起运行,因此状态和会话需要与此兼容
    猜你喜欢
    • 2011-07-25
    • 2011-09-08
    • 1970-01-01
    • 2013-04-10
    • 2011-01-21
    • 2010-12-02
    • 2012-10-20
    • 2018-04-27
    相关资源
    最近更新 更多