2009-08-17 10 views
0

私は情報を取得するためにADにヒットしたWebサービスを呼び出すクライアントを持っています。ASMX Web Services + Active Directoryの質問

最近私は次のような動作を開始しました。

長い待機またはIISResetの後、クライアントがWebサービスを呼び出し、 Webサービスが呼び出しを示し、DirectoryEntry.RefreshCache();が開始されます。 (例外を記録するtry catch内にある)

何も起こりません。

カップル分後、私は、Webサービスのログで同じスレッド上での活動を参照してください

が、何のエラーは今までただ何も、サービスまたはクライアントのログに現れません。

最終的に長い待機時間が経過すると、Webサービスが正常に動作し、 と全く同じ機能を呼び出すと、妥当な時間内に応答が返されます。興味のあることに、ぶら下がっているWebサービスへの呼び出しは、 がヒットした最初の呼び出しではなく、カップルが呼び出されます。 (理論的には初期接続ではなく、前に問題があったため、修正するためにメンバーシッププロバイダにconnectionprotection = noneを設定する必要がありました)

私の質問は、 ログファイルのスレッドの繰り返しですかスレッドが が終了したことを示しますか? 終了した場合、エラーが表示されないのはなぜですか?try catchにありますか?

なぜDirectoryEntry.RefreshCache()に時間がかかりますか?

+0

は()がうまく消え、私は間違っていたRefreshCaceが判明します。 DEのプロパティをローカルコピーにコピーすると、オブジェクトのカテゴリまたはnTSecurityDescriptorのいずれかで のいずれかが停止するだけです... メモリの破損は可能でしょうか? スレッドがメモリ破損している場合、webserviceは何をするのですか?スレッドはスレッドプールでリサイクルされますか? 私は、webservice上で少なくとも何らかの例外を予想しています。 –

答えて

0

私が使用していたクラスライブラリのメモリ破損のバグが、ローカルコピーにプロパティをコピーしてしまいました。

memorycorruptionを私の最高の推測として使用して、ライブラリを使用せずに書き直して、私が後になった価値を得るだけで問題はなくなりました。

おかげで、

Eric-