0

多言語をサポートする ASP.NET MVC3 アプリケーションがあります。ほとんどすべての単語には多言語サポートがあり、各ページ要求で、現在選択されている言語のすべての単語をデータベースから に取得し、Listそれをそれぞれに使用します。各要素Wordを保持MeaningIDし、一致した単語を から出力しListます。コストのかかるアプローチですが、すべてのデータベースに到達するよりはましWordです。

それでも、ユーザーが選択した言語を変更したときにのみデータベースから読み込まれる、プロジェクト全体でグローバルに使用できるデータ構造があるかどうか疑問に思います。そのような目的で使用できるリスト構造のようなセッションはありますか?

編集:物事を明確にするために、データベーステーブルを投稿しています。

 --Word--           --WordBase--          --Language--
  ID                   ID                    ID
  Text                 Text                  Name
  BaseID
  LanguageID

ご覧のとおり、 s は s がa によって依存するWordBase意味です。サンプルデータは次のとおりです。WordLanguage

--Word--             --Base--             --Language--
1;Hallo;1;1          1;Hello              1-Deutsch
2;Hello;1;2          2;Good               2-English
3;Gut;  2;1
4;Good; 2;2
4

2 に答える 2

1

Web アプリは辞書のようなものですか? つまり...あなたの「言葉」はあなたのアプリケーションのデータです...それとも国際化について話しているのですか?

それが国際化である場合、それを行うためのより良い方法があると思います...組み込みのツールを使用します。これを確認してください:http://afana.me/post/aspnet-mvc-internationalization.aspx

翻訳可能なデータが大きすぎる場合...ハイブリッドアプローチを使用できる可能性があります...データベースにトークンを保持し、リソースファイルに翻訳します。次に、特にデータが頻繁に変更されない場合に、キャッシングが役立ちます (30 分間キャッシングを設定できます...そしてその間、すべてのリクエストで単語を取得する SQL クエリを回避します)。

于 2013-08-31T21:50:32.023 に答える
0

を使用してこれをキャッシュする必要がありますCache。次に、Cacheユーザー セッション中または期限切れまでに情報を保持するように管理できます。

こちらをご覧ください:ウォークスルー: ASP.NET でのアプリケーション データのキャッシュ

于 2013-08-29T16:56:44.213 に答える