0

データベースから 2 列のテーブルを格納するために静的ハッシュテーブルを使用する単純な XML Web サービスを開発しました。ハッシュテーブルには、Web サービスへの最初の呼び出しで最初に値がロードされます。Web サービスは Visual Studio IDE で正常に動作します。

IIS (バージョン 7.0) に配置されると、nullpointer 例外がスローされます。エラー メッセージは、ハッシュ テーブルからペアの値を取得している関数を示しています。

私の質問は次のとおりです。1) Web サービスのライフサイクル全体で静的ハッシュテーブルを Web サービスに格納することは可能ですか。2)ハッシュテーブルにアクセスする前に、ハッシュテーブルがnullかどうかを毎回チェックする必要がありますか? 3) 静的ハッシュテーブルを使用する最良の方法は何ですか?

4

1 に答える 1

0

ここで最も可能性の高い問題は、本番環境で Web サービスが複数の同時呼び出しを処理していることです。これらの呼び出しは個別のスレッドとして表示さHashTableれ、安全でない方法でシングルにアクセスしています。これらの安全でないアクセスにより、 の内部データHashTableが破損し、NullReferenceException

HashTableWeb サービスの静的フィールドから安全にアクセスするには、ロックでこれへのアクセスを保護する必要があります

于 2013-03-07T23:14:14.620 に答える