I'm deleting a directory from within an ASP.NET application. The deletion goes fine, but when I return from it all my session data from before the delete is lost.
It doesn't matter whether I use:
if (Directory.Exists(folderPath))
Directory.Delete(folderPath, true);
Or:
System.IO.DirectoryInfo d = new System.IO.DirectoryInfo(folderPath);
if (d.Exists)
d.Delete(true);
In both cases I lose my session data.
Has anyone run into this problem?
-
Is the directory within the same application? Then deleting it will cause an AppDomain restart, which will result in loss of session state.
Lea Cohen : The directory is in a virtual directory in the application. Is there a way to get around the AppDomain restart?John Saunders : No, not that I know of. Directories within the web site should not be used for storage. -
Yes! Deleting a directory IIS is serving, causes a reset (or something). I have had this problem, I redesigned the app to not delete directories.
Shame on the -1 for the question, this is a real problem. +1 for someone with a fix.
-
If you are deleting a subdirectory within your application, your app domain will restart. This removes all session data. To alleviate this issue, only add/remove directories outside your application home directory.
0 comments:
Post a Comment