powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / [ASP.NET MVC] Ленивая очистка временных файлов
25 сообщений из 75, страница 2 из 3
[ASP.NET MVC] Ленивая очистка временных файлов
    #38262567
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAhVosttполучить параметры ресайза и кропа, выполнить их над файлом, старый файл удалить, а новый уже обработанный сохранить где надо.Новый файл и есть временный файл?

1. на странице пользователь нажимает «загрузить файл», выбирает файл с картинкой
2. файл загружается через AJAX, возвращается временный УРЛ на картинку
3. картинка отображается пользователю и он её кропает и расайзит, нажимает «сохранить»
4. на сервер уходят параметры кропа и ресайза в JSON, сервер выполняет кроп и ресайз по параметром над уже ранее загруженным файлом, результат сохраняет куда надо (допустим, как аватарку пользователя), временный файл убивается

иной сценарий должен предусматривать, что пользователь передумает кропать и вернется к серфингу или вообще уйдет с сайта. рано или поздно временный файл должен быть уничтожен.

зачем тут нужен какой-то сервис, если это делается штатными средствами — не понятно. я тещу уже 3 день, все работает как часы. но я подумал, что я мог что-то не учесть, и может возникнуть ситуация, когда это не сработает, вот и возник вопрос, все ли я правильно делаю. а мне начали советовать какие-то сервисы, и не понятно почему именно вот только ТАК, через сервис правильно, но объяснить толком почему никто не может.
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38262570
st_st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такая штука, шедулер (aka cron) называется. Запускается раз в сутки и удаляет всё ненужное. А про шаред хостинг и asp.net это наверное шутка была.
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38262572
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а ну да, сессия это зло. самое зачетное объяснение из всего, что я когда-либо слышал.
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38262580
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
st_stЕсть такая штука, шедулер (aka cron) называется. Запускается раз в сутки и удаляет всё ненужное. А про шаред хостинг и asp.net это наверное шутка была.

забейте. особенно с кроном в виндах и на шаредах.
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38262591
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кста, спасибо handmadeFromRu за ссыль на описание Dispose паттерна, надо детальнее с этим разобраться, чтобы исключить любое необъяснимое поведение (хотя пока такого небыло).

ну и спасибо МСУ, просто за то что почтил своим присутствием ))
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38262600
st_st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я к тому, что данный вопрос как раз таки по похожей к нам задаче, где тоже юзерами грузятся фотки на сервер (*.nix), остаётся мусор, который и удаляется по крону раз в сутки php-скриптом. Подобная система у нас на паре сайтов используется уже несколько лет, проблем не было. Городить какие-то сессии для этого, ну не знаю, тут уж на любителя.
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38262612
st_st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
p.s. а если сервер повиснет и ребутнётся, енто самое dispose произойдёт или мусор навсегда останется висеть в папках?
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38262615
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
st_stЯ к тому, что данный вопрос как раз таки по похожей к нам задаче, где тоже юзерами грузятся фотки на сервер (*.nix), остаётся мусор, который и удаляется по крону раз в сутки php-скриптом. Подобная система у нас на паре сайтов используется уже несколько лет, проблем не было. Городить какие-то сессии для этого, ну не знаю, тут уж на любителя.

Я понимаю. Но на Win-шаредах нет доступа к шедулеру. Можно слезно попросить техподдержку и даже добиться результатов, но это не тру-вей. Кроме того PHP и ASP.NET работают совершенно по разному принципу. После обработки запроса PHP умирает, а ASP.NET живёт. И моё решение работает, и вот что удивительно: пока никто не удосужился написать почему так неправильно, какими проблемами это может обернуться — вот что меня интересует.
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38262620
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
st_stp.s. а если сервер повиснет и ребутнётся, енто самое dispose произойдёт или мусор навсегда останется висеть в папках?

при запуске пула приложения (грубо говоря в Global.asax) папка чистится. как раз для таких случаев.
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38262690
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,
ниче вы нагородили, у меня была ситуация раз в сутки отправлять sms оповещения, я просто раз в сутки после 12 ночи отправлял
всем что надо, инициализатором являлся первый запрос в новых сутках, работает уж три года как часы, тоже была мысль через сессию
с отложенной отправкой на сервере sms, тык никогда сессиями не пользовался и тут решил что не нужна..,
а что если первый запрос не придет никогда? - ну видно не судьба, с такой низкой активностью сайта..
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38262750
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степи,

выполнение какой-то работы по расписанию как раз больше подходит для различных демонов, сервисов и шедулеров. если ожидать первого запроса, то этого запроса может и не произойти очень долго — теоретически. хотя я по логам смотрел, постоянно шарятся всякие гугло, яндекс и другие боты :)
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38262765
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,
так то да, но демонов не захотелось, просить провайдера что бы пинал сайт по расписанию тем более, а написать пару строк кода
абсолютно труда не составило, тем более тут ведь можно отправлять смс первым сообщением каждого часа, или каждые 10 минут,
как душе удобно, а на сайте да - постоянно ктонить лазит, тем более время отправки не критично ибо они приходят на 2-3 день после отправки с сайта потребителю ( отложенная отправка у провайдера смс), у вас ведь тоже лимит по диску не горит= 1-2 гигабайта - мелочь.
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38262781
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotikhVostt,

... а вообще, это принципиально, сохранять временные изображения в виде файлов? ... Я имею в виду, если все преобразования выполнить в MemoryStream, потом вылить его в какую-то пустую страницу через Response, а в качестве урла отдаваемой картинки указать эту страницу? ... я не уверен, как это отработает в MVC, но в Web Forms работает ... Тогда и удалять ничего не надо ...проблема в том, что файл отправляется как POST, а <img> может получить на себя картинку только через GET.


можно отправить форму с файлом в iframe. На сервере просто отдать полученные данные обратно:
Код: c#
1.
2.
3.
4.
5.
byte[] b = new byte[context.Request.Files["myfile"].ContentLength];
context.Request.Files["myfile"].InputStream.Read(b, 0, b.Length);
context.Response.ContentType = "image/png";
context.Response.BinaryWrite(b);
context.Response.End();



на клиенте отловить загрузку фрейма и картинки в нем (браузер сам создает простейшую разметку внутри фрейма, в ней - img), после чего задать фрейму размеры картинки.


в этом варианте временные файлы не нужны. Правда, придется потом ещё раз файл отправлять, но это ведь нечасто, да и большинство юзеров пользуются нормальными браузерами, люде тоже не дураки...
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38262876
Фотография a_titeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зачем вообще здесь временные файлы? для тех операций, которые перечислены, их не надо вообще...
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38262945
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_titeev,

?
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38262946
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный Меч,

в современных браузерах есть FileStream, и лишняя передача на сервер не требуется.
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38262949
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttМСУпропущено...

И всегда злом была. Почитай Microsoft Application Architecture: http://codearticles.ru/articles/2327

Где? Ты скинул какую-то копипасту неизвестно откуда и назвал её Microsoft Application Architecture. Кроме того, без единой строчки объяснений почему именно так (сам-то хоть понимаешь? или тупо руководствуешься по принципу: чукча не писатель, чукча мсдн-читатель), что снижает ценность этих строк до абсолютного нуля.

Если для тебя Microsoft Application Architecture ничего не значит, то я сожалею об этом.
http://codearticles.ru/articles/1522
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38262986
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

facepalm.jpg

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

только смысла в твоих сообщениях по прежнему -0.
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38263016
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttЯростный Меч,

в современных браузерах есть FileStream, и лишняя передача на сервер не требуется.FileReader, ты хотел сказать?
Ну да, где он есть, там все просто, читаем бейс64, и превед. Топик-то о старых браузерах, будь они неладны...
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38263103
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt, тебе просто нечем понимать, как обычно. Я тебе дал полную информацию что, как и почему. Ты спросил откуда инфа. Я дал инфу. Если ты не вкуриваешь, что такое майкрософтский архитектурный гайд - сходи в сад.
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38263155
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttМСУ,

а про вызов деструктора в финализаторе, иди лучше поучи лопоухих ламеров из майкрософт:

Код: c#
1.
2.
3.
4.
5.
 ~Resource() 
    {
        // Finalizer calls Dispose(false)
        Dispose(false);
    }



..из примера на MSDN

Причем тут возможности деструктора и зло их использования?

...Программист не может управлять моментом вызова деструктора, потому что момент вызова определяется сборщиком мусора. Сборщик мусора проверяет наличие объектов, которые больше не используются приложением.

...В целом, язык C# не требует управления памятью в той степени, в какой это требуется в случае разработки кода на языке, не рассчитанном на среду выполнения со сборкой мусора. Это связано с тем, что сборщик мусора платформы .NET Framework неявным образом управляет выделением и высвобождением памяти для объектов. Однако при инкапсуляции приложением неуправляемых ресурсов, например окон, файлов и сетевых подключений, для высвобождения этих ресурсов следует использовать деструкторы. Если объект требует уничтожения, то сборщик мусора запускает выполнение метода Finalize этого объекта.

У тебя есть резервирование неуправляемых ресурсов? Нету. Начинай уже думать головой, а не задом.
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38263159
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttна мой взгляд, ты просто ищешь повод лишний раз ссылку на свой ресурс запулить. не важно как это относится к заданной теме и вопросу.
1. Если на моем ресурсе есть ответ на тему, я эту ссылку предоставляю.
2. Никогда и нигде я не использую ссылки не по теме. То, что у тебя трудности с пониманием - не мои проблемы.
3. Если это запрещено или будет запрещено правилами форума, я перестану это делать.
4. Если тебе что-то не нравится, можешь пожаловаться модератору.

hVosttда, наверное планируется масштабная монетизация.
Не планировалась и не планируется.
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38263401
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

мил человек, объект в своём финализаторе удаляет файл. когда будет выполнен финализатор точно не известно, но по задаче этот как раз и не критично: главное гарантированное удаление файла, момент не так важен.

так вот, ответь на вопрос: к каким проблемам это может привести? почему так неправильно? что в этом плохого?

если будешь тыкать гайдом, а не ответишь прямо на вопросы, то ты сути происходящего вообще не понимаешь, и гайдов своих тоже не понимаешь.
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38263515
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,
А Вы знаете, что финализатор и может не вызываться в некоторых случаях,
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38263524
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttобъект в своём финализаторе удаляет файл.
Это плохая архитектура. Причем, критически плохая.

hVosttтак вот, ответь на вопрос: к каким проблемам это может привести? почему так неправильно? что в этом плохого?
Я уже ответил. Финализатор приемлем только для неуправляемых ресурсов, если в процессе работы класса ты наоткрывал всякие хендлы и дескрипторы. Строить бизнес логику на деструкторах - это верх ламеризма.

hVosttесли будешь тыкать гайдом, а не ответишь прямо на вопросы, то ты сути происходящего вообще не понимаешь, и гайдов своих тоже не понимаешь.
Ты их сначала научись читать правильным местом. Тогда от тебя будет толк.
...
Рейтинг: 0 / 0
25 сообщений из 75, страница 2 из 3
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / [ASP.NET MVC] Ленивая очистка временных файлов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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