2009-03-12 9 views
7

ASP.NETアプリケーション内からディレクトリを削除します。削除はうまくいっていますが、元の状態から戻ってくると、削除前のセッションデータはすべて失われます。
私が使用しているかどうかは問題ではありません:ASP.NETアプリケーションからディレクトリを削除すると、新しいセッションに戻ります

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

または:私は私のセッションデータを失うどちらの場合も、

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

を。

誰もこの問題に遭遇しましたか?

答えて

10

アプリケーション内でサブディレクトリを削除すると、アプリドメインが再起動します。これにより、すべてのセッションデータが削除されます。この問題を緩和するには、アプリケーションのホームディレクトリの外にディレクトリを追加/削除するだけです。

3

ディレクトリは同じアプリケーション内にありますか?それを削除するとAppDomainが再起動し、セッション状態が失われます。

+0

ディレクトリは、アプリケーション内の仮想ディレクトリにあります。 AppDomainを再起動する方法はありますか? –

+1

いいえ、私が知っているわけではありません。ウェブサイト内のディレクトリは、ストレージに使用しないでください。 –

1

はい! IISが提供しているディレクトリを削除すると、リセット(または何か)が発生します。私はこの問題を抱えており、ディレクトリを削除しないようにアプリケーションを再設計しました。

質問の-1に恥がかかっていますが、これは本当の問題です。修正のある人は+1してください。

関連する問題