Câu trả lời:
Trong .NET 1.1 ngày trở về trước, thư mục này đã cung cấp cho ASP.NET hỗ trợ JavaScript cho các điều khiển xác thực và chức năng khác. Nếu bạn không có trang web .NET 1.1 hoặc cũ hơn đang chạy, bạn nên xóa nó một cách an toàn. Tôi sẽ đổi tên nó trước để đảm bảo nó không gây ra bất kỳ vấn đề nào.
Ngoài những gì những người khác đã nói, nó thường được tạo bởi công cụ aspnet_regiis, có thể được chạy (lại) bởi những thứ như Windows Update / AddRemove Windows components / IIS. Vì vậy, đôi khi ngay cả khi bạn xóa nó, nó có thể quay lại một cách ngẫu nhiên. Có thể có một cách để ngăn chặn hành vi này, nhưng tôi đã không tìm thấy nó (có thể thay đổi phiên bản ứng dụng thành .NET 2 sẽ thực hiện được).
Vì vậy, trừ khi bạn đang sử dụng các tính năng nhất định của .NET 1.0 / 1.1 (xác thực, Điều hướng thông minh, v.v.), bạn có thể xóa nó mà không gặp bất kỳ sự cố nào, chỉ cần đừng quá ngạc nhiên nếu nó quay trở lại!
aspnet_client là một thư mục cho "các tài nguyên phải được cung cấp qua HTTP, nhưng được cài đặt trên cơ sở từng máy chủ, thay vì trên cơ sở từng ứng dụng".
Một số cách sử dụng của aspnet_client bao gồm lưu trữ tài nguyên (ví dụ: JavaScript, hình ảnh) cho:
Có thể sẽ có / sẽ sử dụng thêm (ab) thư mục này trong tương lai. Không cần phải nói, vì nó chứa những thứ "cần thiết để ứng dụng chạy chính xác" nhưng "không được ứng dụng triển khai", nó sẽ vẫn là một cơn ác mộng cho cả nhà phát triển và quản trị viên hệ thống.
Có vẻ như 'nguyên mẫu' cho nội dung của thư mục nằm trong C: \ inetpub \ wwwroot \, và có vẻ hợp lý khi giả sử rằng nếu bất kỳ trang web IIS nào thiếu tài nguyên / aspnet_client, thì IIS sẽ cố gắng thực hiện đúng và ... phương sách cuối cùng ... tạo một thư mục vật lý trong thư mục gốc của trang web và sao chép các tệp vào đó. Có vẻ như IIS sẽ thực hiện điều này ít nhất là khi "ASPNET_regiis / c" được gọi đến một máy chủ nhất định - điều này có thể tự động xảy ra ở một số thời điểm quan trọng ... như khi các bản cập nhật khung công tác .NET được áp dụng cho máy chủ có vai trò IIS.
Các chiến lược để xử lý thư mục aspnet_client bao gồm: * chỉ định một thư mục ảo được ánh xạ tới C: \ inetpub \ wwwroot với hy vọng rằng IIS sẽ từ bỏ việc tạo một thư mục vật lý * thỉnh thoảng xóa thư mục vật lý nếu bạn chắc chắn rằng trang web của mình không ' không cần nó và nó thực sự làm phiền bạn * bỏ qua aspnet_client * tự chạy "ASPNET_regiis / c" nếu bạn đang thiếu thư mục và cần nó
Có thể là quan trọng nhất, với tư cách là nhà phát triển, bạn nên hiểu rõ ràng và ghi lại các phụ thuộc của ứng dụng vào thư mục aspnet_client và đảm bảo rằng quy trình cài đặt của bạn có các hướng dẫn liên quan để đảm bảo rằng thư mục tồn tại. Tuy nhiên, có lẽ bạn không nên thực sự cung cấp thư mục như một phần của ứng dụng web đóng gói hoặc trang web của mình - làm thế nào bạn có thể thực hiện điều này cho từng phiên bản .NET framework mà máy chủ sẽ thấy trong suốt thời gian ứng dụng của bạn ?!
Một số liên kết tôi sẽ quay lại sau:
Nó cũng có một số biểu tượng và tập lệnh nhất định cần thiết để các báo cáo pha lê chạy đúng cách ngay cả trong các phiên bản sau 1.1
C:\inetpub\wwwroot\aspnet_client\system_web\4_0_30319\crystalreportviewers13
Không chắc đó có phải là điều cần làm hay không, nhưng tôi vừa sao chép toàn bộ thư mục aspnet_client từ thư mục gốc vào thư mục mà phiên bản Ripplestone của tôi đã sử dụng.
Thư mục này thường để lưu trữ Javascript phía máy khách, mà ASP.NET sử dụng cho những thứ như xác thực.
Nó sẽ được an toàn để xóa.
Nếu bạn đang sử dụng Installshield để cấu hình trang web ASP.net, hãy lưu ý rằng tính năng này đã có trong Installshield 2010 và bị thiếu trong Installshield 2012.