• 07 «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • » 09
ASOK?
ActionScriptでFlashつくるよ
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
page top
Progression4の新機能であるリソースキャッシュ。デフォルトでONなので、はまった。取り急ぎメモ。

サーバのサービスに接続する場合。そのサービスが、URLは1つでパラメータによって挙動が変わるような仕様の場合、キャッシュが効きすぎて、毎回同じデータが返ってきてしまう。

・パラメータを URLRequest.data で渡す場合、見かけ上のURLは変化しない。
・リソースキャッシュはURL単位で管理される。
このせいでキャッシュが効いてしまい、毎回同じデータが返ってきてしまう。

var sList:SerialList = new SerialList();
sList.addCommand(
new LoadURL(createInitRequest())
,function():void{
log("*** init loaded ***");
log(this.latestData);
}
,new LoadURL(createListRequest())
,function():void{
log("*** list loaded ***");
log(this.latestData);
}
);
sList.execute();

function createInitRequest():URLRequest{
var req:URLRequest = new URLRequest("Execute.php");
var vars:URLVariables = new URLVariables();
vars.world = "jp";
req.data = vars;
return req;
}

function createListRequest():URLRequest{
var req:URLRequest = new URLRequest("Execute.php");
var vars:URLVariables = new URLVariables();
vars.mode = "list";
vars.world = "jp";
req.data = vars;
return req;
}


対策としては、
・LoaderCommand.cacheAsResourceをfalseに設定する。
・クエリーは URLRequest.data を使わずに指定することで、URLが変わるように。(試してない)
・getResourceById([id]).dispose() でキャッシュをクリアする。(うまくいかなかった)

関連記事
page top

コメント

管理者にだけ表示を許可する
 

トラックバック
TB*URL
Copyright © 2005 ASOK?. all rights reserved.

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。