IIS 7.5で問題が発生しました。この問題は、以下で構成される単純な展開システムです。
3つのフォルダーで構成される新しいwebrootのzipファイルを作成します。
Api
Site
Manager
これは新しいフォルダ(「SITE_REV1」と呼ぶとします)に解凍され、以下を呼び出すスクリプトが含まれます(各Webrootに1つ):
C:\Windows\system32\inetsrv\appcmd set vdir "www.site.com/" -physicalPath:"SITE_REV1\Site"
これは通常、9/10回で機能します。場合によっては、webrootは正しく更新されているように見えますが(IISマネージャーで基本設定を調べた場合、パスは正しいように見えます)、問題の実行中のサイトは実際には古い場所を指しています。「修正」に成功した唯一の方法は、IISリセットを実行することです。問題のアプリケーションプールをリサイクルするだけでは不十分です。
場合によっては、再起動が必要であるように見えることもありますが、正確であるかどうかは100%わかりません(問題を解決するのが自分自身であるとは限りません)。
PowerShellとWeb管理モジュールを使用してスクリプトを書き直し、appcmdに不具合があったことを期待しましたが、同じ問題が発生しました。
Set-ItemProperty "IIS:\Sites\www.site.com" -Name physicalPath -Value "SITE_REV1\Site"
誰かがこのようなことを経験しましたか?誰かが何が起こっているのかについての手がかりはありますか?この問題を防ぐために私が試すことができることは何ですか?IISリセットを実行することは、私たちにとって本当に良いオプションではありません。単一のサイトに変更を展開しようとするたびに、サーバー上のすべてのサイトに影響を与えるからです。
編集:IISマネージャーでの(アプリケーションプールではなく)サイトの開始/停止によってエラーのある物理パスが解決されることを確認しましたが、appcmdを使用してサイトを停止し、物理パスを変更してから開始すると、依然として問題があります同じ問題。私は空白です...