Сеанс ASP.NET и удаление папок - PullRequest
1 голос
/ 01 сентября 2011

У меня есть веб-приложение, в котором администратор может создавать новости, PDF-документы и другие материалы на своей панели cms.

Проблема в том, что когда администратор удаляет новый или что-то еще, приложение удаляет все связанные файлыпод этим новым я имею в виду изображения, PDF-файлы и другие документы.Основная проблема заключается в том, что эти файлы хранятся в папках в папке «новости», и когда приложение удаляет их, сеанс теряется.

Как я могу получить файловую систему без потери сеанса?Мне бы хотелось, чтобы эта файловая система находилась в папке приложения ...

Мы не можем хранить эти папки вне приложения, и мы не хотим использовать StateServer из-за производительности ....

Любое другое решение?

Спасибо

Ответы [ 3 ]

1 голос
/ 01 сентября 2011

Ваш сеанс потерян, потому что IIS перекомпилируется.На мой взгляд, самое простое решение - хранить ваши файлы вне wwwroot.

Обсуждается на SO: ASP.NET перезапускается при создании, переименовании или удалении папки

[Обновление] Пример: Оставим ваше приложение в каталоге c: \ inetpub \ wwwoot \ virtualdir1

Вы создаете рабочий каталог: c: \ inetpub \ inetwork

Дайте надлежащие права (читай /напишите / etc) пользователю Asp.net из вашего пула приложений, и все должно работать как чудо.Подробнее о настройке прав: Что такое все учетные записи пользователей IIS / ASP.NET и чем они отличаются?

Сохраните путь к рабочему каталогу в файле web.config (вынет не хочу, чтобы это жестко закодировать)

0 голосов
/ 01 сентября 2011

Разделите папку с документами и папку веб-сайта. И дать правильное разрешение вашей папке документов.

0 голосов
/ 01 сентября 2011

Наличие этих файлов в папке приложения - плохой дизайн.Сеанс, вероятно, потерян, поскольку вы заставляете IIS перезагружаться из-за изменений файловой системы.Гораздо безопаснее, чтобы ваше веб-приложение не могло писать в свою собственную папку, так как это создает угрозу безопасности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...