3

私はこのトピックを完全に理解しようとしていますが、現在の推奨事項に加えて推奨事項の履歴も理解していなければ、理解できないと思います。

この歴史の簡単な概要を以下に示しますが、それが基本的に正しいかどうか知りたいですか?

  1. ASP.NET 1.1 では、サテライト アセンブリと ResourceManager クラスの使用が推奨されていました
  2. ASP.NET 2.0 では、(DLL に読み込まれていない) .resource ファイルを使用し、HttpContext.GetGlobalResourceObject を介してそれらにアクセスする という推奨事項に切り替わりました。
    • サテライト アセンブリはまだ生成されていましたが、実行時に非表示で作成されていました。
    • 「GetGlobalResourceObject」は、HTTP ヘッダーのカルチャ情報をチェックする作業を行い、同時にリソースを選択しました。
  3. テスト容易性を重視した ASP.NET MVC は、 I18N リソースにアクセスするため の主要な推奨事項として、サテライト アセンブリ/ResourceManager クラスに戻りました。
    • ASP.NET の実行時にサテライト アセンブリを生成することは、リソースにアクセスしようとする単体テスト フレームワークと互換性がありません。
    • ResourceManager を使用すると、開発者はより多くの作業を行う必要があります (カルチャのセッション、Cookie、または HTTP ヘッダー情報を確認するコードを作成する必要があるため)。 HTTP ヘッダーだけでなく、(2) 単体テストで、どのカルチャが使用されているかを簡単に判断できます。

上記の要約から省略した重要な詳細または警告は何ですか? 私の MVC 解説は、MVC3 (および MVC4) の「最新」と見なされますか?

4

2 に答える 2

0

サテライト アセンブリの大きな利点の 1 つは、新しい言語を導入するためにアプリケーションを再構築する必要がないことです。新しい言語のサテライト アセンブリを作成してアプリケーションにドロップすると、ResourceManager がカルチャに基づいてそれを自動的に読み込みます。

.resource ファイルを使用する場合は、アプリケーション全体を再構築し、別のデプロイを行う必要があります。

于 2012-04-12T09:06:27.953 に答える