3

IIS でホストされている WCF サービスを使用していますが、昨日、"Temporary ASP.NET Files" ディレクトリ (\234lkj\98734dc\assembly\tmp) の下の 5 レベルの一時フォルダーに 66,235 個のフォルダー (!!!) が作成されていることがわかりました。 . これらのフォルダーのそれぞれには、サービスに必要な dll が 1 つだけあり、6 つしか必要ないため、各 dll は異なるフォルダーに約 11,000 回コピーされました。変更の有無に関係なく、IIS は bin フォルダーからそれらをコピーしますか? これは正常な動作ですか?IIS (またはそれを実行しているプロセス) が不必要に dll をコピーするのを防ぐ構成設定はありますか?

4

1 に答える 1

0

一時フォルダーは、他のサービスからの参照を JIT コンパイルするために .NET によって使用されます。.NET には、ファイルを作成する場所が必要であり、このコードをコンパイルして、最終的にサービスを操作します。ここで、非常に多くのファイルが表示される理由は、サイトをホストするアプリケーション プールの設定方法に関係している可能性があります。アプリケーション プールの詳細設定を調べる場合は、割り当てられているワーカー プロセスの数を確認してください。各ワーカー プロセスは独自のメモリを使用して存在できるため、複数のサービス参照が多数存在する場合は、複数のフォルダーを JIT する必要があります。また、プロセスの孤立化がオンに設定されていないことを確認してください。その場合、プロセスがファイルを置き去りにし、目に見えるビルドアップを引き起こす可能性があります。

于 2012-09-14T17:05:17.227 に答える