powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / [ASP.NET MVC] Ленивая очистка временных файлов
25 сообщений из 75, страница 3 из 3
[ASP.NET MVC] Ленивая очистка временных файлов
    #38263541
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,
Вернее применим как правило, в патерне IDisposable, остальное это как бы эквилибристика хака и к промышленному коду отношение иметь не должно, говорить что тут реализован паттерн IDisposable не приходится , ибо его тут нет и в помине ( есть только знакомый интерфейс IDisposable)
а вот тут мне кажется очень тонкое место Log.DebugException(ex.Message, ex) мы ошибку заносим в очередь на запись, удалится ли this из памяти вот вопрос... или перейдет в долгоживущие?
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38263559
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степи, у него сама идея с временными файлами утопична. Никто и не сомневался в способностях топикстартера - выдумать полуработающий велосипед и не замечать бревен в ресницах. Почему бы не хранить это темповое изображение в БД (varbinary / filestream). Никакого оверхеда в файловой системе - все операции на лету.
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38263578
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,
Ну почему утопична, она ведь работает, про базу данных разумно, ибо у хостеров размер баз как правило не ограничен, не в пример
дисковой квоте, я уже одного поймал на этом..
Все дело когда... и как... то что не оптимально ( ну с нашей точки зрения , да бог с ним), вот при детальном рассмотрении реализации диспозе ( я то думал там есть такая) а там нет ничего, вот это и настораживает.
Ведь по существу весь патерн замыкается на удаление неуправляемых ресурсов при помощи синтаксического сахара using
ну и сам финализатор, там же ясно сказано "Метод Finalize используется для операций очистки неуправляемых ресурсов, хранимых в текущем объекте до его удаления" там нет слова как правило..
там по существу вся конструкция держится за счет using - поставил программист его - выполнился метод Dispose(), по наитию,
не поставил ( ну забыл) выполнился метод через вызов финализатора( когда то может быть),( защита от разгильдяйства) при using так же выполняется деректива к уборщику GC.SuppressFinalize, и он помечает объект, что при удалении его - финализатор вызывать не надо, это ж ему легче,
это ж не хилая операция прибраться в памяти.., а тут получается что и диспозе не нужен, обыкновенную функцию влепи чистить папку
и все, а финализатор что так вызовется что так..
ну и про запись в лог, терзают смутные сомнения..
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38263587
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38263589
Фотография a_titeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostta_titeev,

? попробовай юзер-профиль использовать для этого. грузи сразу в базу. файлы то зачем? я так в свое время делал. нормально вышло. плюс еще даже - несклько разных может быть иображений. с каждым отдельно можно работать. также как и с корзиной, кстати, по примеру... а дальше зависит от того как используется аутентификация. если все анонимы, то можно и чистить, как заведено, либо мож даже оставлять, сохранив последнюю модификацию.
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38263592
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степи Как применять IDisposable и финализаторы: 3 простых правила
О чем я и говорил, финализатор зло, тема баян - холиварили лет 5 назад на форуме.
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38264287
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
соленые огурцы — зло! при употреблении с кислым молоком (которое тоже кстати зло еще то), вызывает приступы диареи.

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

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

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

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

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

ты сказочный.... где ????
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38264543
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttМСУ, ты сказочный.... где ????
Перечитай все мои ответы заново. Ищущий да обрящет.
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38264563
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
ссылка о том как использовать финализаторы не помогла осмыслить корявость твоего способа очистки файлов? по моему прям четко расписанное объяснение. твой финализатор занимается не тем, не нужен он вообще.
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38264584
hVostt,
Нормально. Если всё работает - ты выиграл. Вопли про "плохую архитектуру" - большей частью полная фигня.
п..деть - не мешки ворочать...
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38264600
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt, про финализаторы мы еще продолжаем выбивать твою тупость из башки, это ладно. Ну а по поводу "сессия - зло", смотрю, согласился уже?
Так мы медленными, но уверенными темпами научим тебя программировать, и не просто программировать, а писать качественный код
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38264642
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пробегаллоhVostt,
Нормально. Если всё работает - ты выиграл. Вопли про "плохую архитектуру" - большей частью полная фигня.
п..деть - не мешки ворочать...
говнокод+костыли работают всегда, но это ничего не меняет, оно также попахивает.
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38265169
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
значит, я услышу любые оправдывающие свои слова аргументы из области болтологии, но так и не получу объяснений, так?

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

в моём случае, класс не владеет управляемыми ресурсами , которые необходимо освобождать.

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

реализация IDisposable не требуется для работы финализатора, но имеет смысл, если мне понадобиться удалить файл вручную. конечно, надо это делать уже прямым вызовом Dispose(), а не «на стороне». приведенный на MSDN пример с дополнительными методом Dispose(bool) — бэд практикс . больше не рекомендуйте его никому. он нужен при наличии сразу двух видов ресурсов: управляемых и неуправляемых , что уже само по себе плохо из-за сложности в реализации гарантированной последовательности очистки, что ведет прямой дорогой в ад.

на этапе выполнения финализатора полностью гарантировано доступны свойства типа string (точно также, как и int и др.). если б присутствовали управляемые ресурсы (объекты IDisposable, коллекции и т.п.), таких гарантий не предоставляется.

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

кто с этим не согласен, жду конкретных аргументов.


П.С. ну и так, для отдушины :) — МСУ! ну ты и ламак! гоу вагоны разгружать, в программировании тебе не место
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38265598
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,
о блин такого неадекватного состояния я не ожидал. перечитай что ты пишешь. такая белиберда. Твой финализатор не уместен и не должен освобождать(чистить файлы) ничего. ты на него свалил эту задачу искусственно и пытаешься доказать что это профит.
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38265621
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttв общем я разобрался с вопросом.
Ты не разобрался ни с вопросом, ни с проблемой. Ты не в состоянии сформулировать мысль, о чем ты говоришь?

hVosttно он владеет неуправляемым ресурсомфайл . и хоть это не так очевидно на первый взгляд, ибо я храню не IntPtr, а имя файла, — не имеет значения. для ортодоксальных приверженцев «букве закона и примеров с MSDN», можно хранить хендл файла. но это уже дурка.
Иди в детский сад сходи, порадуй детишек своим фееричным умозаключением. Садись, двойка.
FileStream - это управляемый ресурс, CreateFile (win api) - это неуправляемый ресурс. Уровень твоей безбашенной логики ниже плинтуса.

hVosttреализация IDisposable не требуется для работы финализатора
Да ты просто само откровение. Кто подсказал или научился с документацией работать?

hVosttприведенный на MSDN пример с дополнительными методом Dispose(bool) — бэд практикс . больше не рекомендуйте его никому.
Замечательно, сам же его привел, а теперь признался, что это плохо. Молодцом!
Во-вторых, это не плохо, такой подход нужен для определенных ситуаций при работе с неуправляемыми ресурсами, например, unmanaged соединение с БД.

hVosttна этапе выполнения финализатора полностью гарантировано доступны свойства типа string (точно также, как и int и др.). если б присутствовали управляемые ресурсы (объекты IDisposable, коллекции и т.п.), таких гарантий не предоставляется.
Само выполнение финализатора не гарантировано, о каких ты так гарантиях свистишь?

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

hVosttкто с этим не согласен, жду конкретных аргументов.
Тебе целый форум битый день приводит аргументы, ты не видишь и не понимаешь. Так что можешь ждать дальше, объяснять идиоту, что он идиот - глупо. Не поймет и будет сопротивляться.

hVosttП.С. ну и так, для отдушины :) — МСУ! ну ты и ламак! гоу вагоны разгружать, в программировании тебе не место
Тут дело не в вагонах, ситуация с тобой ослажнена тем, что даже врачи бессильны. Без хирургического вмешательства, разумеется.
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38265775
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иди в детский сад сходи, порадуй детишек своим фееричным умозаключением. Садись, двойка.
FileStream - это управляемый ресурс, CreateFile (win api) - это неуправляемый ресурс. Уровень твоей безбашенной логики ниже плинтуса.


Все чудесатее и чудесатие
Муслимка, а это для чего?
Stream.Dispose - метод ,
Strem.Finalize
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38265818
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaИди в детский сад сходи, порадуй детишек своим фееричным умозаключением. Садись, двойка.
FileStream - это управляемый ресурс, CreateFile (win api) - это неуправляемый ресурс. Уровень твоей безбашенной логики ниже плинтуса.


Все чудесатее и чудесатие
Муслимка, а это для чего?
Stream.Dispose - метод ,
Strem.Finalize

Опа, основной ламер подтянулся. Разницу между "ресурсом" и "unmanaged ресурсом" понимаем?
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38265995
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУSeVaпропущено...


Все чудесатее и чудесатие
Муслимка, а это для чего?
Stream.Dispose - метод ,
Strem.Finalize

Опа, основной ламер подтянулся. Разницу между "ресурсом" и "unmanaged ресурсом" понимаем?

Не могу поверить, что наш Великий Гонокодер не знает, что net - всего лишь обвертка на системными вызовами.
В частности, FileStream - именно подобный случай

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
 /// <summary>
    /// Releases the unmanaged resources used by the <see cref="T:System.IO.FileStream"/> and optionally releases the managed resources.
    /// </summary>
    /// <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources. </param>
    [SecuritySafeCritical]
    protected override void Dispose(bool disposing)
    {
      try
      {
        if (this._handle == null || this._handle.IsClosed || this._writePos <= 0)
          return;
        this.FlushWrite(!disposing);
      }
      finally
      {
        if (this._handle != null && !this._handle.IsClosed)
          this._handle.Dispose();
        this._canRead = false;
        this._canWrite = false;
        this._canSeek = false;
        base.Dispose(disposing);
      }
    }



Тупое животное, this._handle.Dispose() как по твоему для чего нужно?
...
Рейтинг: 0 / 0
[ASP.NET MVC] Ленивая очистка временных файлов
    #38266027
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaНе могу поверить, что наш Великий Гонокодер не знает, что net - всего лишь обвертка на системными вызовами.
В частности, FileStream - именно подобный случай
Не могу поверить, что наш форумный клон долбосева не в курсе, что такое namaged и unmanaged ресурсы, а так же что делает с managed ресурсами сборщик мусора и в каком поколении.

SeVaТупое животное, this._handle.Dispose() как по твоему для чего нужно?
Глупое чудовище, ты хочешь сказать, что любой экземпляр класса, реализующий IDisposable - это unmanaged ресурс? Убей себя об стену!

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


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