Khắc phục: "Không thể Bắt đầu thay đổi được theo dõi thư mục" thông báo lỗi khi bạn duyệt một trang ASP.NET

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch thuật của Microsoft và có thể được Cộng đồng Microsoft chỉnh sửa lại thông qua công nghệ CTF thay vì một biên dịch viên chuyên nghiệp. Microsoft cung cấp các bài viết được cả biên dịch viên và phần mềm dịch thuật thực hiện và cộng đồng chỉnh sửa lại để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng nhiều ngôn ngữ Tuy nhiên, bài viết do máy dịch hoặc thậm chí cộng đồng chỉnh sửa sau không phải lúc nào cũng hoàn hảo. Các bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này: 317955
Khước từ Nội dung trong Cơ sở Kiến thức Không còn được hỗ trợ
Bài viết này nói về các sản phẩm mà Microsoft không còn hỗ trợ nữa. Do đó, bài viết này được cung cấp "nguyên bản" và sẽ không được cập nhật.
Triệu chứng
Khi bạn duyệt một trang ASP.NET (.aspx), bạn có thể nhận được một thông báo lỗi sau:
Truy cập từ chối để 'D:\MyWeb\Users\MainDirectory\MyApplication\' mục tin thư thoại. Không thể khởi động thay đổi được theo dõi mục tin thư thoại.
- hoặc -
Truy cập từ chối để 'D:\MyWeb\Users\MainDirectory\MyApplication\SamplePage.aspx'. Không thể khởi động thay đổi được theo dõi tệp.
Để biết thêm thông tin về dấu kiểm vết xếp chồng gọi đi kèm với một trong các thông báo lỗi, hãy xem phần "Thông tin".
Nguyên nhân
Để thay đổi tệp, danh quy trình và nhận dạng mạo danh người dùng phải có quyền cụ thể cho tất cả các mục tin thư thoại trong hệ thống đường dẫn tệp cho tệp ASP.NET giám sát nếu bất kỳ mục tin thư thoại trong hệ thống có hơn 8 kí tự đại diện trong tên.

Một số ví dụ về các tệp ASP.NET màn hình như sau:
  • Tệp web.config
  • Machine.config tập tin
  • Tệp trong mục tin thư thoại Bin của ứng dụng ASP.NET
  • Bộ đệm ẩn các tệp phụ thuộc
Bạn nhận được thông báo lỗi đầu tiên nếu nhận dạng trình Aspnet_wp.exe (tài khoản aspnet sẽ theo mặc định) không có quyền trên ít nhất một trong các mục tin thư thoại trong hệ thống đường dẫn tệp đó.

Bạn nhận được thông báo lỗi thứ hai nếu tài khoản impersonated không có quyền ít nhất một trong các mục tin thư thoại trong hệ thống đường dẫn tệp đó.
Giải pháp
Sử dụng một trong các phương pháp sau để khắc phục sự cố này.

Phương pháp 1

Đảm bảo rằng tất cả các tên mục tin thư thoại phân cấp đường dẫn tệp đó ít hơn 9 kí tự đại diện dài.

Ví dụ:
C:\Web\Users\MainDir\Site1
Lưu ý: Nếu bạn đổi tên các mục tin thư thoại để chiều dài mỗi tên mục tin thư thoại đang ít hơn 9 kí tự đại diện, sau khi bạn thực hiện những thay đổi cần thiết trong hồ sơ trang trong Microsoft Internet Information Services (IIS) để đối phó với mục tin thư thoại tên, bạn phải khởi động lại IIS.

Phương pháp 2

Cấp quyền truy cập bắt buộc trên tất cả các mục tin thư thoại trong đó tài khoản trình ASP.NET (aspnet sẽ theo mặc định) hoặc tài khoản impersonated (nếu mạo danh được bật). Để thực hiện việc này, hãy làm theo các bước sau:
  1. Trong Window Explorer, duyệt đến mục tin thư thoại ứng dụng hoặc mục tin thư thoại ảo có chứa nội dung (ví dụ: D:\MyWeb\Users\MainDirectory\MyApplication).
  2. Bấm chuột phải vào mục tin thư thoại, và sau đó bấm Thuộc tính.
  3. Trên tab bảo mật , bấm Thêm.
  4. Loại Tên máy tính\ASPNET (ví dụ, trên máy tính có tên Webdev, gõ Webdev\ASPNET), sau đó bấm OK. Nếu mạo danh được bật, bạn cũng phải thêm tài khoản impersonated.
  5. Cho phép các quyền sau cho tài khoản aspnet sẽ (và các tài khoản impersonated nếu mạo danh được bật):
    • Đọc & thực thi
    • cặp danh sách nội dung
    • Đọc

  6. Bấm OK để đóng hộp thoại thuộc tính và lưu các thay đổi.
  7. Lặp lại bước 2 và 6 cho tất cả các mục tin thư thoại trong hệ thống đường dẫn. Ví dụ:

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

    Nếu bạn muốn cấp hạn chế quyền truy cập vào các mục tin thư thoại, hãy làm theo các bước sau khi hoàn thành bước 5:

    1. Nhấp vào nâng cao.
    2. Trên tab quyền , bấm vào mục quyền đối với tài khoản aspnet sẽ (hoặc tài khoản khác impersonated), và sau đó nhấp vào chỉnh sửa.
    3. Bấm Bỏ Chọn Tất cả, và sau đó bấm để chọn hộp kiểm cho phép cho các Danh sách Cặp / đọc dữ liệu quyền.
    Lưu ý: mục tin thư thoại ảo ứng dụng (ví dụ: D:\MyWeb\Users\MainDirectory\MyApplication) phải có ít quyền được chỉ định trong bước 5.
  8. Khởi động lại IIS.

Phương pháp 3

Nếu máy tính đang chạy IIS 6.0, cấp quyền truy cập bắt buộc trên tất cả các cặp trong đó tài khoản bản ghi dịch vụ mạng. Để thực hiện việc này, hãy làm theo các bước sau:
  1. Trong Window Explorer, xác định vị trí mục tin thư thoại ứng dụng hoặc mục tin thư thoại ảo có chứa nội dung (ví dụ: D:\MyWeb\Users\MainDirectory\MyApplication).
  2. Bấm chuột phải vào mục tin thư thoại, và sau đó bấm Thuộc tính.
  3. Trên tab bảo mật , bấm Thêm.
  4. Loại Tên máy tính\NETWORK bản ghi dịch vụ (ví dụ, trên máy tính có tên Webdev, gõ Webdev\NETWORK bản ghi dịch vụ), sau đó bấm OK. Nếu mạo danh được bật, bạn cũng phải thêm tài khoản impersonated.
  5. Cho phép các quyền sau cho tài khoản bản ghi dịch vụ mạng (và các tài khoản impersonated nếu mạo danh được bật):
    • Đọc & thực thi
    • cặp danh sách nội dung
    • Đọc

  6. Bấm OK để đóng hộp thoại thuộc tính và lưu các thay đổi.
  7. Lặp lại bước 2 và 6 cho tất cả các mục tin thư thoại trong hệ thống đường dẫn. Ví dụ:
    • D:\MyWeb\Users\MainDirectory
    • D:\MyWeb\Users
    • D:\MyWeb
    • D:\
    Nếu bạn muốn cấp hạn chế quyền truy cập vào các mục tin thư thoại, hãy làm theo các bước sau khi hoàn thành bước 5:
    1. Nhấp vào nâng cao.
    2. Trên tab quyền , bấm vào mục quyền đối với tài khoản bản ghi dịch vụ mạng (hoặc tài khoản khác impersonated), và sau đó nhấp vào chỉnh sửa.
    3. Bấm Bỏ Chọn Tất cả, và sau đó bấm để chọn hộp kiểm cho phép cho các Danh sách Cặp / đọc dữ liệu quyền.
    Lưu ý: mục tin thư thoại ảo ứng dụng (ví dụ: D:\MyWeb\Users\MainDirectory\MyApplication) phải có ít quyền được chỉ định trong bước 5.
  8. Khởi động lại IIS.
Lưu ý: Các bước này chỉ có giá trị cho các ứng dụng web được lưu trữ trong IIS 6.0.
Tình trạng
Microsoft đã xác nhận rằng đây là một lỗi trong sản phẩm của Microsoft được liệt kê ở đầu bài viết này. Lỗi này đã được khắc phục trong ASP.NET (bao gồm .NET Framework) 1.1.
Thông tin thêm
Đây là dấu kiểm vết xếp chồng gọi là liên kết với thông báo lỗi đầu tiên trong phần "Triệu chứng":
[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)					
Đây là dấu kiểm vết xếp chồng gọi là liên kết với thông báo lỗi thứ hai trong phần "Triệu chứng":
[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)					
Nếu bạn nhận được một thông báo lỗi được liệt kê trong phần "Triệu chứng", nhưng dấu kiểm vết xếp chồng gọi không giống nhau, nguyên nhân gây ra thông báo lỗi có thể khác nhau. Trong trường hợp này, hãy xem bài viết trong "Tham khảo" để biết thêm thông tin.
Tham khảo
Để biết thêm thông tin về thông báo lỗi tương tự trong một tình huống khác nhau, bấm vào số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
316721 "Không Bắt đầu thay đổi được theo dõi thư mục" thông báo lỗi khi bạn duyệt trang ASP.NET
Để biết thêm thông tin về các quyền tài khoản aspnet sẽ yêu cầu để chạy các ứng dụng ASP.NET, hãy bấm vào số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
317012 Quy trình và yêu cầu nhận dạng trong ASP.NET
Để biết thêm thông tin về bảo mật ASP.NET, hãy bấm vào số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
306590 Tổng quan về bảo mật ASP.NET

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 317955 - Xem lại Lần cuối: 07/25/2015 17:08:00 - Bản sửa đổi: 3.0

Microsoft ASP.NET 1.0

  • kbfix kbbug kbcaching kbpending kbsecurity kbmt KB317955 KbMtvi
Phản hồi