1

IIS7.5 で、web.config 内のタグの内容が時々削除されるというかなり厄介なバグに遭遇しました。実行時にコンテンツを削除するだけでなく、実際にファイルを物理的に更新します。

ローカル マシンではすべてを再構築するときに発生し (ソース管理から application.config を置き換えることを含む)、サーバー マシンではアプリ プールの再起動時に発生します。どちらの場合も断続的です。

構成のルートにいくつかの構成があり、場所タグにいくつかの構成があるため、発生しているようです。これを行う理由は、ルート アプリケーションの下にいくつかの仮想アプリケーションがあり、それらにハンドラとモジュールを継承させたくないためです。継承したい設定 (validateIntegratedModeConfiguration など) があるため、ルートの system.webserver タグがあります。

location タグ内ではなく、system.webserver 設定にのみ影響します。すべてを location タグに移動すれば問題ありません。

web.config は次のようになります。

<system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    ...
</system.webServer>
<location path="." inheritInChildApplications="false">
    <system.webServer>
      <modules>
        ...
      </modules>
      <handlers accessPolicy="Read, Script">
        ...
      </handlers>
    </system.webServer>
 </location>

他の誰かがこの問題に遭遇しましたか?

4

1 に答える 1

3

最終的に、構成をルートの system.webserver から location タグ内の構成に移動しました。次に、すべての子アプリケーションにも追加しました。

<location path="." inheritInChildApplications="false">
    <system.webServer>
      <validation validateIntegratedModeConfiguration="false" />
      <modules>
        ...
      </modules>
      <handlers accessPolicy="Read, Script">
        ...
      </handlers>
    </system.webServer>
 </location>

これは理想的な回避策ではありませんが、構成が削除されるという問題は解決しました。

于 2012-07-25T12:06:08.840 に答える