Kami telah menemukan masalah pada IIS 7.5 di mana kami memiliki sistem penyebaran sederhana yang terdiri dari yang berikut:
Buat file zip webroot baru, yang terdiri dari tiga folder:
Api
Site
Manager
Ini membuka ritsleting ke folder baru (katakanlah kita menyebutnya "SITE_REV1"), dan berisi skrip yang memanggil yang berikut (satu untuk setiap webroot):
C:\Windows\system32\inetsrv\appcmd set vdir "www.site.com/" -physicalPath:"SITE_REV1\Site"
Ini biasanya berhasil, dalam 9/10 kali. Dalam beberapa kasus, webroot tampaknya diperbarui dengan benar (jika saya memeriksa pengaturan dasar di IIS Manager, jalurnya terlihat benar), tetapi situs yang sedang berjalan sebenarnya menunjuk ke lokasi lama. Satu-satunya cara kami berhasil "memperbaikinya", adalah dengan menjalankan IIS-reset. Tidak cukup untuk mendaur ulang kumpulan aplikasi yang dimaksud.
Kadang-kadang tampaknya bahkan perlu untuk membuat reboot, tapi saya tidak 100% yakin itu akurat (tidak selalu saya sendiri yang memperbaiki masalah).
Saya menulis ulang skrip menggunakan Powershell dan modul Web-Administration, berharap ada kesalahan di appcmd, tetapi masalah yang sama terjadi.
Set-ItemProperty "IIS:\Sites\www.site.com" -Name physicalPath -Value "SITE_REV1\Site"
Adakah yang mengalami hal seperti ini? Adakah yang tahu apa yang sedang terjadi, dan apa yang bisa saya coba lakukan untuk mencegah masalah ini? Melakukan reset IIS sebenarnya bukan pilihan yang baik bagi kami, karena itu akan memengaruhi semua situs di server setiap kali kami mencoba dan menyebarkan perubahan di satu situs.
EDIT: Kami telah mengidentifikasi bahwa memulai / menghentikan situs (BUKAN kumpulan aplikasi) di IIS Manager menyelesaikan jalur fisik yang salah, tetapi jika saya menghentikan situs menggunakan appcmd, mengubah jalur fisik, dan kemudian memulainya, saya masih menderita karena masalah yang sama. Saya kosong ...