1

我正在使用 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)时它不会。奇怪的。

4

2 回答 2

1

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

于 2010-01-26T07:29:39.683 回答
1

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

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

var channelSet : ChannelSet = new ChannelSet();

变种通道:NetConnectionChannel = null;

频道 = 新 AMFChannel("my-amf", amfEndpoint );

channelSet.addChannel( 频道 );

把它交给你的远程对象

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

于 2010-01-26T09:16:28.803 回答