2008-10-16 37 views

Trả lời

81

Trong .NET 1.1 ngày và trước, thư mục này cung cấp ASP.NET với sự hỗ trợ JavaScript của nó 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 .NET .NET hoặc cũ hơn thì nên an toàn để xóa 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.

+42

Câu hỏi thực sự là TẠI SAO này xuất hiện. –

+10

Nó hiển thị để nhắc bạn làm thế nào để không làm những việc như thế nữa ... :) – ostati

+0

Thậm chí nếu bạn hiện đã hết .Net 1.1 ngày bạn có thể sử dụng Crystal Reports, tiếc là vẫn sử dụng thư mục được đề cập (và có thể có cũng là phần mềm khác có cùng hành vi). Vì vậy, ít nhất, hãy thực hiện sao lưu trước khi xóa thư mục –

3

Thư mục thường để lưu trữ Javascript phía máy khách, ASP.NET sử dụng cho những thứ như xác thực.

Nên xóa an toàn.

62

Ngoài những gì người khác đã nói, nó thường được tạo bởi công cụ aspnet_regiis, có thể được (lại) chạy 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ể trở lại 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 để .NET 2 sẽ làm điều đó thực sự). Vì vậy, trừ khi bạn đang sử dụng một số 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, vv), bạn có thể xóa nó mà không gặp bất kỳ vấn đề gì, đừng quá ngạc nhiên nếu nó trở lại!

+23

Tôi tìm thấy bản sao lưu đó theo định kỳ. Điều gây bực mình nhất là khi mọi thứ trở lại, nó phá vỡ WebDeploy như tài khoản mà nó chạy không có quyền truy cập để xóa thư mục aspnet_client đã tạo! –

+5

@RussCam Tôi chính xác có cùng một vấn đề. Nó phá vỡ WebDeploy cho cùng một lý do. Có ai tìm cách ngăn thư mục này được tạo ngẫu nhiên không? – tugberk

+4

Tôi chỉ vô tình cài đặt DotNet Framework 4.5 và một thời gian ngắn sau khi triển khai WebDeploy của chúng tôi (được kích hoạt thông qua TeamCity) đã phá vỡ vì lý do CÙNG. Thư mục darn trở lại lần nữa do cài đặt 4.5. Ai đó, xin hãy dừng lại. – Michael12345

8

Nó cũng có biểu tượng nhất định và các kịch bản được yêu cầu cho các báo cáo tinh thể để chạy đúng ngay cả trong các phiên bản sau hơn 1,1

+0

Yah, tìm thấy điều này một cách khó khăn. Tôi đã di chuyển trường hợp Ripplestone của chúng ta từ một thư mục ảo bên dưới trang Web mặc định sang trang web riêng của nó, và mọi thứ bắt đầu phá vỡ kỳ lạ trong Ripplestone. Tôi nhìn vào giao diện điều khiển javascript, và thấy rằng nó đã được tìm kiếm các công cụ theo 'C: \ inetpub \ wwwroot \ aspnet_client \ system_web \ 4_0_30319 \ crystalreportviewers13' Không chắc chắn nó đã được _right_ để làm hay không, nhưng tôi chỉ sao chép toàn bộ thư mục aspnet_client từ thư mục gốc vào thư mục mà cá thể Ripplestone của tôi đã sống. –

13

aspnet_client là một thư mục cho "tài nguyên mà phải được phân phối qua HTTP, nhưng được cài đặt trên mỗi -server cơ sở, chứ không phải là một cơ sở cho mỗi ứng dụng ".

Một số trong những ứng dụng của aspnet_client bao gồm nguồn tài nguyên lưu trữ (ví dụ JavaScript, hình ảnh.) Cho:

  • JavaScript cho ASP.NET Web Forms điều khiển khi sử dụng xác nhận client-side (chủ yếu là để hung trình duyệt cũ như IE5 , có vẻ như)
  • ASP.NET 2.0 (cho đến khuôn khổ 4.0) cho 'chủ đề toàn cầu' (toàn cầu cho tất cả các trang web trên một máy chủ, đó là)
  • một số phiên bản của Crystal Reports

Có thể có/sẽ tiếp tục sử dụng (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 cho ứng dụng để chạy chính xác "nhưng ứng dụng không được ứng dụng triển khai", nó sẽ vẫn là một cơn ác mộng đối với 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ý nếu giả sử bất kỳ trang web IIS nào thiếu tài nguyên/aspnet_client, thì IIS sẽ cố gắng làm điều đúng và ... như một 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 ở đó. Dường như IIS sẽ làm điều này ít nhất khi "ASPNET_regiis/c" được gọi một máy chủ đã cho - có thể xảy ra tự động tại một số điểm quan trọng ... như khi các cập nhật .NET framework được áp dụng cho một máy chủ có vai trò IIS.

chiến lược để xử lý thư mục aspnet_client bao gồm: * chỉ định một thư mục ảo ánh xạ tới C: \ inetpub \ wwwroot với hy vọng rằng IIS sẽ từ bỏ việc tạo ra một thư mục vật lý * xóa các thư mục vật lý trong từng thời kỳ nếu bạn' hãy chắc chắn rằng trang web của bạn không cần đến nó và nó thực sự làm phiền bạn * bỏ qua aspnet_client * chạy "ASPNET_regiis/c" nếu bạn thiếu thư mục và cần nó

Có lẽ quan trọng nhất, với tư cách là nhà phát triển, bạn nên hiểu rõ 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ó hướng dẫn phù hợp tiện ích để đả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 cung cấp thư mục như một phần của ứng dụng web hoặc trang web được đóng gói của bạn - làm cách nào bạn có thể thực hiện việc này cho mỗi phiên bản của khung công tác .NET mà máy chủ sẽ thấy trong suốt thời gian đăng ký của bạn ?!

Một số liên kết Tôi sẽ quay trở lại sau:

+0

vì vậy nếu bạn thêm thư mục aspnet_client trong wwwroot, nội dung của nó sẽ được sao chép vào mỗi ứng dụng web mà bạn cài đặt Tôi đoán –

1

Tôi đã thêm điều này ở đây vì đây là liên kết tôi tiếp tục được chuyển đến khi tôi googled câu hỏi này. Rõ ràng với .NET 4.0 và mới hơn thư mục này không còn cần thiết và có thể được gỡ bỏ mà không có vấn đề.

0

Nếu bạn đang sử dụng Installshield để cấu hình trang web ASP.net, lưu ý rằng tính năng này đã có mặt trong Installshield 2010 và là mất tích trong Installshield 2012. Installshield 2010 Vs 2012

+0

Một số tính năng không có trong IS2010. Thử thêm các phiên bản trước. –

Các vấn đề liên quan