Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Сессия теряется после Directory.Delete / 14 сообщений из 14, страница 1 из 1
03.03.2010, 19:24
    #36500883
RodeRebel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессия теряется после Directory.Delete
Странный случай. Имеется страница на веб-приложении, на котором управляется документами, для каждого на специальном каталоге Files, создается каталог пр. catNN по ID.
На каталог Files имеются соотв. права на изменения файловой системы.
1. При создании документа, новая папка внутри Files создается - успешно.
2. Записываю upload файлы - успешно.
3. Удаляю из папки файлы - успешно.
4. При удалении документа (к пр. ID=15) из базы, соответственно удаляю его папку cat15 из Files.
Открывается страница после постбека и говорит, и док и его папка удалена. Действ. и док и папка удалена, но... в следующем операции на странице, на сервере сессия не имеет никаких переменных (допустим Session["userreg"], Session["userrole"]) и вообще Session.Count ноль.
Убираю из алгоритма удаление папки, все ок.
if (Doc.DocDelete(ID))
{
// Здесь вроде типа
DeleteDocFolder(ID);
}
void DeleteDocFolder(int id);
{
// Здесь вроде типа
if (Directory.Exists(GetDocDir(ID))) Directory.Delete(GetDocDir(ID),true) ;
}

Сессия теряется как-то странно после отправки страницы клиента если использовать Directory.Delete (не вовремя вызова), и последующем любом обрашении на любую страницу сессия пуста, иначе все как по маслу. Catch нигде никакой Exception не ловит.
Кто нибудь сможет с чего такое происходит?
...
Рейтинг: 0 / 0
04.03.2010, 00:30
    #36501221
VladM2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессия теряется после Directory.Delete
так навскидку...

может Application рестартует?
дергаетца ли Application_Start после удаления папки?

если да... то папки токо метить как то аа физически удалять токко по Application_Start или Application_end
...
Рейтинг: 0 / 0
04.03.2010, 09:05
    #36501394
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессия теряется после Directory.Delete
Может какой HttpModule что-то мониторит? А, вообще, сказочно всё это, что Вы описали.
...
Рейтинг: 0 / 0
04.03.2010, 17:02
    #36503194
Lamer@fools.ua
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессия теряется после Directory.Delete
VladM2может Application рестартует?

+1
...
Рейтинг: 0 / 0
04.03.2010, 17:04
    #36503208
Zoria
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессия теряется после Directory.Delete
Lamer@fools.uaVladM2может Application рестартует?

+1
+10
кто больше? :)
...
Рейтинг: 0 / 0
04.03.2010, 22:26
    #36503894
VladM2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессия теряется после Directory.Delete
ZoriaLamer@fools.uaVladM2может Application рестартует?

+1
+10 +
кто больше? :)



в чем прикол?
ну ляпнул первое что в голову пришло...
...
Рейтинг: 0 / 0
04.03.2010, 23:05
    #36503932
Lamer@fools.ua
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессия теряется после Directory.Delete
VladM2в чем прикол?
ну ляпнул первое что в голову пришло...

В том, что по мнению как минимум 2 других участников форума, Вы правы :)
...
Рейтинг: 0 / 0
06.03.2010, 06:22
    #36506021
RodeRebel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессия теряется после Directory.Delete
Я много раз проверил, страница открывается сессия имеет несколько переменных, обрабатывает процедуру удаления папки, до и после тоже все есть, страница отправляется клиенту, трассировка показывает что все нормально, следующий любой пост или гет на любую страницу, сиссия пустая. Без удаления папки хоть сотни документов удаляй. Application не стартует видимо, но кажется после команды Directory.Delete IIS6 на Win Server 2003 удаляет сессию. Я после 8 марта выложу еще дальнейшие результаты.
...
Рейтинг: 0 / 0
06.03.2010, 06:40
    #36506022
RodeRebel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессия теряется после Directory.Delete
Прошу прощение, Application рестартует или нет, не знаю, но тоже теряет свои переменные после удаление физической папки. Но если это так, как это надо решать?
...
Рейтинг: 0 / 0
06.03.2010, 12:48
    #36506183
VladM2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессия теряется после Directory.Delete
таки да, удаление папкиприводит к shutsdown the Appdomain, со всеми вытекающими оттуда последствиями.

>Но если это так, как это надо решать?

1. читайте тут сами, я особо не вникал, возможно это то что Вам нужно.

2.отказаться от удаления папок(точнее, я уже писал Вам, папки не удалять а только помечать к удалению, удалять физически папки только когда appl перезапускается по другим причинам.)

3.если вся проблема в потери контекста сессии, то может нужно смотреть в сторону SessionStateMode SQLServer.

4. хранить документы в БД.


вообщем налево пойдешь - коня потеряешь, направо - счастье найдешь, ...
)))))
...
Рейтинг: 0 / 0
07.03.2010, 15:53
    #36506883
Парамон
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессия теряется после Directory.Delete
создавать эти папки не в самом приложении
...
Рейтинг: 0 / 0
10.03.2010, 12:23
    #36511171
RodeRebel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессия теряется после Directory.Delete
Вы были правы. Оказывается Application рестартовал, следственно и сессия...
...
Рейтинг: 0 / 0
10.03.2010, 12:45
    #36511246
Zoria
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессия теряется после Directory.Delete
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
12.01.2013, 21:43
    #38107869
avolik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессия теряется после Directory.Delete
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Сессия теряется после Directory.Delete / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]