2


1

Silverlightがロードされる前にデータベースから翻訳をプリロードする

ローカライズ文字列をデータベースに保存しています。 ローカライズは、作成中の多言語アプリケーションに必要です。 データ層はWCFサービスの背後にあり、すべてのデータはこのWCFチャネルを介して送信されます。

Slivlerlightアプリケーションがユーザーのブラウザーに表示される前に、翻訳を読み込む必要があります。 したがって、これを使用してデータをプリロードすることは、最も論理的なパスです。 しかし、Silverlightの非同期呼び出しは、Silverlightの読み込み後に結果が読み込まれるため、データベースから翻訳文字列を読み込むのに苦労しています。

この問題を解決する方法はありますか?

2 回答


3


この問題には2つの解決策があります。

  1. 本当にSilverlightの前でもデータをロードしたい場合 アプリケーションがブラウザに表示されたら、Silverlightを埋め込む前にデータを渡すしか方法がありません。 この場合、* AJAX を使用してデータをフェッチし、 SLオブジェクトをDOM *に動的に追加してパラメーターを渡します。 私の意見では、これは非常に面倒です。

  2. アプリケーションを隠す(メインのグリッドまたはコンテナを作成する) to Visiblilty = "Collapsed")SLアプリがデータを取得するまで* SL *を取得します。 タイマーを設定して、データがロードされてズームされたかどうかを動的に確認します。


1


データベースから直接ロードすることは、ローカリゼーションを解決する正しい方法ではないことがわかりました-翻訳の問題。 翻訳はあまり変化しないものなので、XMLファイルを使用して翻訳を保存します。 このXMLファイルは埋め込みリソースであり、新しい翻訳が追加されるたびにデータベースから生成されます。

これにより、データ幅の非同期呼び出しの読み込みに問題がなくなりました。

答えてくれてありがとう…​