2つの同一のWindowsServer2003ボックスでホストされているASMXWebサービスがいくつかあります。 Webサービスの仮想ディレクトリはDFS共有にロードされ、両方のサーバーが同じ共有を指します。インターネットと2つのWebサーバーの間にロードバランサーがあります。
ユーザーがWebサービスのメソッドにアクセスしようとすると、一見ランダムな間隔(現在は週に2回程度)で、IISは、「ファイルまたはアセンブリを読み込めませんでした」というエラーを返します。メソッド呼び出しで使用されるアセンブリの数であり、アプリプールがリサイクルされるまで、メソッドが呼び出されるたびにレポートを続けます。
この問題の識別可能なパターンは見つかりませんでした。これは私が知っていることです:
アセンブリバインダーログを有効にしましたが、バインダーがファイルの正しい場所を探していることがわかりました。
私たちのアセンブリは.Net3.5用にコンパイルされています。
同様の問題がありました。
何が起こっているのかを公式に把握することはありませんでしたが、問題をweb.configの偽装レベルと、アセンブリファイルをホストするフォルダーへのユーザーアクセスに絞り込みました。
IISワーカープロセスが、Webリクエストにアクセスするユーザーとしてアセンブリを読み込もうとすることがあることを発見しました。アセンブリを読み込もうとしたスレッドが、現在、作成しているユーザーになりすましていることがわかりました。 asp.netページの1つへのリクエスト。
とにかく、ドメイン内の認証されたユーザーにアクセスを許可することで問題を回避しました。うまくいけば、あなたはより良い解決策を見つけることができます。