【问题标题】:Simplifying Flex deployments in services-config.xml?简化 services-config.xml 中的 Flex 部署?
【发布时间】:2011-01-09 08:55:48
【问题描述】:

我正在使用 Flex/Flash 构建一个 UI,用于前端我的 Rails 服务器应用程序。我使用 WebORB 作为通信机制。然而,我的问题应该不仅仅适用于 WebORB。 (我认为)。

具体来说,它与 services-config.xml 文件有关。我有一个本地(笔记本电脑)开发环境、一个远程开发环境和一个远程生产环境。我厌倦了在 services-config.xml 文件中编辑 URL,每次我想在不同的环境中进行测试时都重新构建和部署。

有人对如何做到这一点有任何想法吗?我想我可以做到以下几点:

   <channel-definition id="supremacy" class="mx.messaging.channels.AMFChannel">
        <endpoint uri="/weborb" class="flex.messaging.endpoints.AMFEndpoint"/>
        <properties>
            <polling-enabled>true</polling-enabled>
        </properties>
    </channel-definition>

通过设置 URI="/weborb" 并给它一个相对路径,我认为它会起作用。它确实——在本地——但是当我将它部署到我的远程开发和生产环境(Heroku)时它不会。很奇怪。

【问题讨论】:

    标签: apache-flex flash remoting heroku weborb


    【解决方案1】:

    您可以在应用程序启动时配置您的服务(因此基于配置文件)

    使用 amfEndpoint 作为字符串创建通道

    var channelSet : ChannelSet = new ChannelSet();

    var channel : NetConnectionChannel = null;

    channel = new AMFChannel("my-amf", amfEndpoint);

    channelSet.addChannel(channel);

    把它交给你的远程对象

    ServiceLocator.getInstance().getRemoteObject("myService").channelSet = channelSet;

    【讨论】:

    • services-config.xml 会是什么样子?
    【解决方案2】:

    您可以通过使用 Ant 构建项目来稍微简化该过程。例如,您可以为每个环境创建单独的 services-config.xml 文件,然后为不同的环境编译单独的构建脚本,自动选择适当的配置文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多