ID Artikel: 317955 - Kajian Terakhir: 24 September 2011 - Revisi: 2.0

FIX: "Gagal untuk mulai memantau perubahan direktori" pesan galat ketika Anda browsing ke ASP.Halaman bersih

Tips SistemThis article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.

Pada Halaman ini

Perbesar semua | Perkecil semua

GEJALA

Ketika Anda browse ke ASP.NET (.aspx) halaman, Anda mungkin menerima salah satu pesan galat berikut:
Akses ditolak untuk 'D:\MyWeb\Users\MainDirectory\MyApplication\' direktori. Gagal untuk mulai memantau perubahan direktori.
-atau-
Akses ditolak untuk 'D:\MyWeb\Users\MainDirectory\MyApplication\SamplePage.aspx'. Gagal untuk mulai memantau berkas perubahan.
Untuk informasi lebih lanjut tentang panggilan tumpukan jejak yang berkaitan dengan masing-masing pesan galat ini, lihat bagian "Informasi selengkapnya".

PENYEBAB

Untuk mendeteksi perubahan file, proses identitas dan identitas pengguna menyamar harus memiliki izin khusus untuk semua direktori dalam hirarki path file untuk file ASP itu.NET adalah pemantauan jika salah satu direktori dalam hirarki yang memiliki lebih dari delapan karakter dalam nama mereka.

Beberapa contoh file ASP itu.NET monitor adalah sebagai berikut:
  • File web.config
  • Machine.config elemen dari file
  • File dalam direktori Bin ASP.NET aplikasi
  • File cache ketergantungan
Anda menerima pesan galat pertama jika identitas proses Aspnet_wp.exe (ASPNET account secara default) tidak memiliki izin pada setidaknya satu dari direktori dalam hirarki path file itu.

Anda menerima pesan galat yang kedua jika account menyamar tidak memiliki izin pada setidaknya satu dari direktori dalam hirarki path file itu.

PEMECAHAN MASALAH

Gunakan salah satu metode berikut untuk menyelesaikan masalah ini.

Metode 1

Pastikan bahwa semua nama direktori dalam hirarki path file yang kurang dari sembilan karakter lama.

Misalnya:
C:\Web\Users\MainDir\Site1
Catatan Jika Anda mengubah nama direktori sehingga panjang nama direktori masing-masing adalah sekarang kurang dari sembilan karakter, setelah Anda membuat perubahan yang diperlukan dalam konfigurasi situs Web di Internet informasi layanan Microsoft (IIS) untuk berurusan dengan mengganti nama direktori, Anda harus me-restart IIS.

Metode 2

Memberikan izin yang diperlukan pada semua direktori dalam hirarki itu untuk ASP.NET proses account (ASPNET secara default) atau ke account menyamar (jika peniruan diaktifkan). Untuk melakukannya, ikuti langkah-langkah berikut:
  1. Di Windows Explorer, browse ke folder aplikasi atau untuk direktori virtual yang berisi konten (misalnya, D:\MyWeb\Users\MainDirectory\MyApplication).
  2. Klik kanan folder, dan kemudian klik Properti.
  3. Pada Keamanan tab, klik Tambahkan.
  4. Jenis ComputerName\ASPNET (sebagai contoh, pada komputer yang dinamakan Webdev, jenis Webdev\ASPNET), lalu klik Oke. Jika peniruan diaktifkan, Anda juga harus menambahkan account menyamar.
  5. Memungkinkan ijin berikut untuk ASPNET account (dan untuk account menyamar) jika peniruan diaktifkan:
    • Membaca & mengeksekusi
    • Buat Daftar Isi Map
    • Baca

  6. Klik Oke untuk menutup Properti kotak dialog dan untuk menyimpan perubahan.
  7. Ulangi langkah 2 sampai 6 untuk semua folder dalam hierarkhi jalan. Misalnya:

    • D:\MyWeb\Users\MainDirectory
    • D:\MyWeb\Users
    • D:\MyWeb
    • D:\

    Jika Anda ingin memberikan izin yang lebih ketat untuk folder ini, ikuti langkah berikut setelah Anda menyelesaikan langkah 5:

    1. Klik Lanjutan.
    2. Pada Izin tab, klik entri izin untuk ASPNET account (atau account menyamar yang lain), dan kemudian klik Mengedit.
    3. Klik Hapus semua, dan kemudian klik untuk memilih Memungkinkan kotak centang untuk Daftar Folder / membaca Data izin.
    CATATAN: Aplikasi direktori virtual (misalnya, D:\MyWeb\Users\MainDirectory\MyApplication) harus memiliki setidaknya izin yang ditentukan dalam langkah 5.
  8. Restart IIS.

Metode 3

Jika komputer menjalankan IIS 6.0, memberikan izin yang diperlukan di semua folder dalam hirarki itu untuk account layanan jaringan. Untuk melakukannya, ikuti langkah-langkah berikut:
  1. Di Windows Explorer, Temukan folder aplikasi atau direktori virtual yang berisi konten (misalnya, D:\MyWeb\Users\MainDirectory\MyApplication).
  2. Klik kanan folder, dan kemudian klik Properti.
  3. Pada Keamanan tab, klik Tambahkan.
  4. Jenis ComputerName\NETWORK LAYANAN (sebagai contoh, pada komputer yang dinamakan Webdev, jenis Webdev\NETWORK layanan), lalu klik Oke. Jika peniruan diaktifkan, Anda juga harus menambahkan account menyamar.
  5. Memungkinkan ijin berikut untuk account layanan jaringan (dan untuk account menyamar) jika peniruan diaktifkan:
    • Membaca & mengeksekusi
    • Buat Daftar Isi Map
    • Baca

  6. Klik Oke untuk menutup Properti kotak dialog dan untuk menyimpan perubahan.
  7. Ulangi langkah 2 sampai 6 untuk semua folder dalam hierarkhi jalan. Misalnya:
    • D:\MyWeb\Users\MainDirectory
    • D:\MyWeb\Users
    • D:\MyWeb
    • D:\
    Jika Anda ingin memberikan izin yang lebih ketat untuk folder ini, ikuti langkah berikut setelah Anda menyelesaikan langkah 5:
    1. Klik Lanjutan.
    2. Pada Izin tab, klik entri izin untuk account jaringan layanan (atau account menyamar yang lain), dan kemudian klik Mengedit.
    3. Klik Hapus semua, dan kemudian klik untuk memilih Memungkinkan kotak centang untuk Daftar Folder / membaca Data izin.
    Catatan Direktori virtual aplikasi (misalnya, D:\MyWeb\Users\MainDirectory\MyApplication) harus memiliki setidaknya izin yang ditentukan dalam langkah 5.
  8. Restart IIS.
Catatan Ini adalah langkah hanya berlaku untuk aplikasi Web yang di-host di IIS 6.0.

STATUS

Microsoft telah mengkonfirmasi bahwa ini adalah bug dalam produk Microsoft yang didaftar pada awal artikel ini. Bug ini diperbaiki pada ASP.NET (disertakan dengan.NET Framework) 1.1.

INFORMASI LEBIH LANJUT

Ini adalah panggilan setumpuk jejak yang dikaitkan dengan pesan kesalahan pertama di bagian "Gejala":
[HttpException (0x80004005): Access denied to 'D:\MyWeb\Users\MainDirectory\MyApplication\' directory. Failed to start monitoring directory changes.]
   System.Web.FileChangesMonitor.StartMonitoringDirectoryRenamesAndBinDirectory(String dir, FileChangeEventHandler callback)
   System.Web.HttpRuntime.StartMonitoringDirectoryRenamesAndBinDirectory()
   System.Web.HttpRuntime.FirstRequestInit(HttpContext context)

[HttpException (0x80004005): ASP.NET Initialization Error]
   System.Web.HttpRuntime.FirstRequestInit(HttpContext context)
   System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)
					
Ini adalah panggilan setumpuk jejak yang berhubungan dengan pesan galat kedua di bagian "Gejala":
[HttpException (0x80004005): Access denied to 'D:\MyWeb\Users\MainDirectory\MyApplication\SamplePage.aspx'. Failed to start monitoring file changes.]
   System.Web.FileChangesMonitor.StartMonitoringFile(String fileName, FileChangeEventHandler callback)
   System.Web.Caching.CacheDependency.Init(String[] filenames, String[] cachekeys, CacheDependency dependency, DateTime start)
   System.Web.Caching.CacheDependency..ctor(String filename, DateTime start)
   System.Web.Caching.CacheDependency..ctor(String filename)
   System.Web.Security.FileAuthorizationModule.OnEnter(Object source, EventArgs eventArgs)
   System.Web.SyncEventExecutionStep.Execute()
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
					
Jika Anda menerima salah satu pesan galat yang didaftar di bagian "Gejala", tetapi jika panggilan stack adalah tidak sama, yang menyebabkan pesan kesalahan mungkin berbeda. Dalam kasus ini, lihat artikel di "Referensi" untuk informasi lebih lanjut.

REFERENSI

Untuk informasi tambahan tentang pesan kesalahan yang sama dalam skenario yang berbeda, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
316721  (http://support.microsoft.com/kb/316721/ ) "Gagal untuk mulai memantau perubahan direktori" pesan galat ketika Anda browsing ke ASP.Halaman bersih
Untuk informasi tambahan mengenai izin yang ASPNET account memerlukan untuk menjalankan ASP Anda.NET aplikasi, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
317012  (http://support.microsoft.com/kb/317012/ ) Proses dan permintaan identitas di ASP.NET
Untuk informasi tambahan tentang ASP.NET keamanan, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
306590  (http://support.microsoft.com/kb/306590/ ) ASP.Ikhtisar bersih keamanan

Berlaku bagi:
  • Microsoft ASP.NET 1.0
Kata kunci: 
kbfix kbbug kbcaching kbpending kbsecurity kbmt KB317955 KbMtid
Penerjemahan MesinPenerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:317955  (http://support.microsoft.com/kb/317955/en-us/ )
Retired KB ArticleSanggahan Konten KB yang Tidak Lagi Diperbarui
Artikel ini berisi tentang produk yang tidak lagi didukung oleh Microsoft. Oleh karena itu, artikel ini disajikan ?sebagaimana adanya? dan tidak akan diperbarui.