2009-03-12 7 views
7

Usuwam katalog z aplikacji ASP.NET. Usunięcie przebiega prawidłowo, ale po powrocie z niego wszystkie moje dane sesji sprzed usunięcia są tracone.
To nie ma znaczenia, czy mogę użyć:Usuń katalog z aplikacji ASP.NET wraca do nowej sesji

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

czyli

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

w obu przypadkach stracę dane sesji.

Czy ktoś napotkał ten problem?

Odpowiedz

10

Jeśli usuniesz podkatalog z aplikacji, domena aplikacji zostanie ponownie uruchomiona. Spowoduje to usunięcie wszystkich danych sesji. Aby złagodzić ten problem, dodawaj/usuwaj katalogi poza katalogiem osobistym aplikacji.

3

Czy katalog znajduje się w tej samej aplikacji? Usunięcie go spowoduje ponowne uruchomienie AppDomain, co spowoduje utratę stanu sesji.

+0

Katalog znajduje się w katalogu wirtualnym w aplikacji. Czy istnieje sposób na obejście restartu AppDomain? –

+1

Nie, nie o tym wiem. Katalogi na stronie internetowej nie powinny być używane do przechowywania. –

1

Tak! Usunięcie katalogu, z którego korzysta IIS, powoduje reset (lub coś takiego). Miałem ten problem, przeprojektowałem aplikację, aby nie usuwać katalogów.

Wstyd na -1 za pytanie, to jest prawdziwy problem. +1 dla osoby z poprawką.