18

私は、C# (asp.net) で構築された大規模な Web アプリケーションに取り組んでいます。JavaScript コントロールで使用するためにローカライズされた文字列をクライアント ブラウザーに提供する単純な aspx ページを用意しました。文字列を取得するには、次のようにします。

ResourceManager _resources = new ResourceManager(_pathname, typeof(ARM).Assembly);
ResourceSet rs = _resources.GetResourceSet(culture, false, false);

//loop through rs and write the keys & values out to the client in plaintext

Clean/Build または Rebuild の直後のページへの最初のリクエストを除いて、これはすべて正常に機能します (単純にいくつかの変更を加えてから Build を行うと、正常に機能します)。そのため、最初のリクエストで ResourceSet を反復しようとすると、null 参照例外が発生します。ただし、エラーの後にページを更新すると、それ以降は正常に機能します。

なぜこれが起こっているのか誰にも分かりますか?

4

1 に答える 1

50

メソッド GetResourceSet の 2 番目のパラメータ「createIfNotExist」は true でなければなりません。これは、まだロードされていない場合は ResourceSet をロードするように ResourceManager に指示します。

ResourceSet rs = _resources.GetResourceSet(culture, true, false);
于 2009-12-28T18:53:24.643 に答える