2009-03-12 20 views
7

Tôi đang xóa một thư mục từ trong một ứng dụng ASP.NET. Việc xóa sẽ ổn, nhưng khi tôi quay trở lại từ tất cả dữ liệu phiên của tôi trước khi xóa sẽ bị mất.
Nó không quan trọng cho dù tôi sử dụng:Xóa thư mục khỏi ứng dụng ASP.NET trở về phiên mới

   if (Directory.Exists(folderPath)) 
        Directory.Delete(folderPath, true); 

Hoặc:

   System.IO.DirectoryInfo d = new System.IO.DirectoryInfo(folderPath); 
       if (d.Exists) 
        d.Delete(true); 

Trong cả hai trường hợp tôi bị mất dữ liệu phiên của tôi.

Có ai gặp sự cố này không?

Trả lời

10

Nếu bạn đang xóa thư mục phụ trong ứng dụng của mình, miền ứng dụng của bạn sẽ khởi động lại. Thao tác này sẽ xóa tất cả dữ liệu phiên. Để giảm bớt vấn đề này, chỉ thêm/xóa các thư mục bên ngoài thư mục chính của ứng dụng của bạn.

3

Thư mục có nằm trong cùng một ứng dụng không? Sau đó, xóa nó sẽ khiến khởi động lại AppDomain, điều này sẽ dẫn đến việc mất trạng thái phiên.

+0

Thư mục nằm trong một thư mục ảo trong ứng dụng. Có cách nào để bắt đầu lại AppDomain không? –

+1

Không, không phải là tôi biết. Thư mục trong trang web không nên được sử dụng để lưu trữ. –

1

Có! Xóa một thư mục IIS đang phục vụ, gây ra một thiết lập lại (hoặc một cái gì đó). Tôi đã gặp phải vấn đề này, tôi đã thiết kế lại ứng dụng để không xóa các thư mục.

Xấu hổ với câu hỏi -1, đây là vấn đề thực sự. +1 cho ai đó có bản sửa lỗi.

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