2009-05-14 18 views

答えて

0

コンパイラオプションで現在の名前空間(DEV/RELEASE)を使用して名前空間を構成できます。

CONFIG::release 
public function connect() 
{ 
    //connect to release url 
} 

CONFIG::dev 
public function connect() 
{ 
    //connect to dev url 
} 

コンパイラのためにこれらのオプションを定義します。

-define=CONFIG::release,false 
-define=CONFIG::dev,true 
+0

完全に実行可能な解決策が大いに嫌です! –

0

構成ファイルを使用するか、または開発マシンのlocalhostまたはdevサーバーにドメインをポイントするようにホストファイルを変更することをお勧めします。後者のオプションでは、プロダクションURLをコード内で常に使用しますが、devマシンはホストファイルを最初にチェックするため、これらのドメインをローカルマシンに解決します。

0

ここに最善のアプローチは、設定ファイルにこの情報を外部化することである - おそらくXMLファイル - 相対URLを介してロードされます。設定ファイルには、このように見えるかもしれません:

<config> 
    <serviceEndpoint>http://www.mydomain.com/services</serviceEndpoint> 
</config> 

を有効ActionScriptの変数名を使用してXML要素に名前を付けるか、E4Xの表現が困難になることがあり、例えば(ファイルで作業するいくつかの困難に遭遇することを確認してください

次に、HTTPServiceを使用して、アプリケーションのSWFの横に配置された "config.xml"を読み込むことができます。これにより、任意のドメインでホストされているSWFを、どこにでもホストされたバックエンドに再配置できます。共有開発サーバーに接続しています。

Compこの情報をSWFに書き込むことは、非常に柔軟性がなく、貧弱な方法です。

0

通常、アプリケーション(Flex - http://livedocs.adobe.com/flex/201/langref/mx/core/Application.html#url)またはルート表示オブジェクト(Flash - http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/LoaderInfo.html#url)のcontentLoaderInfoオブジェクトのurlを表示します。 urlが "file"で始まっている場合は、開発/ IDEにあることがわかります。 "http"の場合、ブラウザで実行されています。あなただけのブラウザで作業している場合は、

{ 
    url: $_SERVER['SERVER_NAME']; 
} 

のようなものを持っており、アプリがで実行されているパスに基づいて切り替えるために、いくつかのinit /起動方法を実行するオブジェクトにパラメータを渡すことがあります。

0

WebORB経由でRailsアプリにヒットしたAIRアプリケーションで、この問題が発生しました。

Flex Builderで実行しているかどうか(adl経由)によって、http://localhosthttp://fakeproductionurl.comの間で切り替えるだけで済みます。

これは私が使用して終了するものである:

if (NativeApplication.nativeApplication.publisherID != "") { 
    return "http://fakeproductionurl.com"; 
} 
else { 
    return "http://localhost"; 
} 

それはあなた3+異なる環境間で切り替える機能を与えるものではありませんが、それは、開発/生産環境を切り替えるには非常に簡単な方法です。

関連する問題