2011-07-11 10 views
0

オンラインアプリケーションがAS3で作成され、サーバーからSWFとして提供されるとしましょう。最初のバージョンはV1.0です。既存のSWFアプリケーション理論に変更を配布する

プロキシサーバーの背後にあるユーザーの中には、V1.0アプリケーションを使用するものがあり、クライアントマシンとプロキシサーバーにキャッシュされたコピーが存在するユーザーもいます。

V1.1がリリースされ、サーバーに配置されます。すべてのユーザーにV1.1が表示されるはずですが、結果は変更されるものもあれば、新鮮なコピーが提供されるものもあれば、キャッシュのコピーを受け取るものもあれば、プロキシサーバーのキャッシュにコピーされるものもあります。

私はサーバ変数をチェックして期限切れであるかどうかを確認するV1.0のコードにすることができます。しかし、期限が切れている場合は、AS3に強制的に新鮮なコピーをダウンロードする方法があるのでしょうか?

プロキシサーバーにアクセスできないため、キャッシュを手動または自動でクリアできないことを考慮してください。

答えて

1

のようなアップデートの配布のための賢明な解決策は、私はそれが不要なサーバーの負荷を導入しながらも、市民のconnは、シンプルなソリューションを提供して考えてもあります。

市民のconnのアプローチを使用できますが、タイムスタンプではなく、アプリケーションのバージョンタグを使用します。

main.swf?app_version=1.1 

異なるアプローチは、DigitalDの手法を使用してアプリケーション自体からリフレッシュを強制することです。

しかし、あなたは、コンテナのhtmlページでこれを使用しているため、コンテナは、同様にキャッシュされるかもしれないので、あなたは...

+0

これは私が打っているループのようなものです。そして、私は不必要なロードステートメントに同意します。 – Chris

2

SWFだけがキャッシュされていますか?そうであれば、ページが読み込まれたときにキャッシュバスターを使うことができます。

SWFを参照してください:main.swf?timestamp = 7062956829これは、プロキシサーバーが別のファイルを考え、キャッシュされたリソースを配信しないようにします。

+0

1をコンテナのリロードを強制する必要があります。手動でバージョンを追跡することはできますが、これを操作して問題を解決できます。 – fenomas

+0

この方法の問題は、swfを毎回リロードして、サーバー負荷IMHOを不必要に増加させることです。 – goliatone

2

アプリケーションが起動するたびに最新のバージョン番号をサーバーに要求し、最新のバージョンのアプリケーションswfをロードするラッパー・プリローダーがあります。

http://treetide.com/swfcontrol/

関連する問題