1

概要:以下に詳述する動作は、www.someplace.com のアプリが SharedObject を介してデータを設定/取得する場合、ユーザーが someplace.com でアプリをヒットし、その後でsomeplace.com?name=value.

誰かがこれを確認または反論できますか?


ユーザーにログインページを表示するFlex Webアプリに取り組んでいます。ユーザーがログインすると、「グループ」に関連付けられた「ルーム」が表示されます。

最後にアクセスしたルーム/グループの組み合わせを SharedObject に保存します。そのため、特定のユーザーがログインすると、アクティブだった最新のルームに移動します。

これは問題なく動作しますが、クエリ文字列が添付されたアプリの URL へのリンクをユーザーがクリックする自動ログイン システムもあります。これらのリンクには 2 つのタイプがあります。

1) クエリ文字列には、username、groupId、および roomId が含まれます

2) クエリ文字列にはユーザー名のみが含まれます

私たちは迅速に作業を進めており、開発者も少数しかいないため、自動ログイン システムはラストビスト システムに基づいて構築されています。自動ログイン プロセス中に URL が検査され、クエリ文字列に groupId と roomId の値が見つかった場合は、SharedObject が開かれ、最後にアクセスしたグループ/ルーム ID の値が param 値によって上書きされます。

また、アプリが 2 番目のタイプのクエリ文字列 (groupId および roomId パラメーターなし) でヒットした場合、アプリは SharedObject にアクセスして、通常どおり、保存されている部屋とグループ ID の値を取得します。そして、ここに問題があります:

返される値は、最後の部屋/グループ パラメータ値が何であれ、最後の最後の訪問の部屋/グループ値が何であるかではありません。

また、特定のユーザーが、グループ ID とルーム ID の値を含むクエリ文字列でアプリをヒットしたことがない場合、アプリは SharedObject から null 値を取得します。

少し掘り下げましたが、URL にクエリ文字列が存在する場合、SharedObject に 2 番目のデータ セットが格納されている/期待されているように見えます。

テキスト エディターで .sol ファイルを見ると、クエリ文字列を含む URL でアプリをヒットすると、翻訳されていないコードが増え、グループと部屋の値が追加されていることがわかります。

これについてウェブ上で何も見つけていませんが、必要な検索スキルが不足している可能性があります。

他の誰かが同様の何かに遭遇しましたか? または、これに対処する方法を知っていますか?

Security.exactSettings を既に false に設定しようとしましたが、それが機能することを本当に望んでいました。

4

2 に答える 2

0

ログイン プロセス中に共有オブジェクトに正しく書き込んでいるように聞こえますが、ユーザーがアプリの使用中に部屋/グループを変更すると、部屋/グループが共有オブジェクトに正しく書き込まれません。

これが、部屋/グループ パラメータを使用してアプリにアクセスしたことがない場合に値が null になる理由と、ログイン プロセス後に発生する変更が値に反映されない理由です。

また、値を書き込んだ後に値がディスクに保存されるようにするには、 を呼び出すことができますmySharedObject.flush()

于 2009-11-18T06:21:50.787 に答える
0

覚えておくべき 1 つのこと: - それらは共有されます - ただし、遅延があります。共有オブジェクトを取得してそれに変更を加えると、変更はクライアントの .sol に書き込まれます - 遅れて。

また、一部のクライアント (特に Vista) では、アプリ状態の早い段階で ShraedObjects にアクセスすると例外がスローされることに気付きました。しばらくしてから再試行すると、通常は成功します。

于 2009-02-24T22:14:35.777 に答える