Re[26]: Кошерное использование using
От: TK Лес кывт.рф
Дата: 30.06.09 18:47
Оценка: +1
Здравствуйте, Аноним, Вы писали:

TK>>Длительные "управляемые" операции надо соответствующим образом проектировать так, что-бы Thread.Abort для их прерывания не требовался. Если же эти операции "падают" с неба то, выносите их в отдельный процесс — потенциальных проблем будет сильно меньше.


А>вот, оказывается вы невнимательно читали пост, ссылку на который я дал. дам же написано кое-что кроме базы данных — создание отчета. а конкретно Crystal Reports (впрочем неважно). Как предлагаете мне управлять стороенней библиотекой и длительность выполнения операции, в частности создания отчета, которая (операция) может растянутся на минуты?


Выносите "Crystal Reports" в отдельный процесс. Понадобится прервать — всегда можно сделать TerminateProcess и забыть о нем.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[27]: Кошерное использование using
От: MozgC США http://nightcoder.livejournal.com
Дата: 06.07.09 16:22
Оценка:
Кстати, словил щас OutOfMemoryException из StringBuilder.Append(), поймалось в try-catch без проблем. Все-таки кто-нибудь из местных гуру может точно сказать (ну так, интересно для саморазвития), есть ли ситуации когда OutOfMemoryException не ловится (как StackOverflowException)? Т.е. всё-таки к каким его относить — к отлавливаемым или нет?
Re[6]: Кошерное использование using
От: drol  
Дата: 06.07.09 16:34
Оценка:
Здравствуйте, adontz, Вы писали:

A>Thread.Abort это какой-то экстремальный случай.


Это в теории. А на практике, тот же ASP.NET просто обожает его организовывать.
Re[28]: Кошерное использование using
От: jedi Мухосранск  
Дата: 06.07.09 20:11
Оценка:
Здравствуйте, MozgC, Вы писали:

MC>Кстати, словил щас OutOfMemoryException из StringBuilder.Append(), поймалось в try-catch без проблем. Все-таки кто-нибудь из местных гуру может точно сказать (ну так, интересно для саморазвития), есть ли ситуации когда OutOfMemoryException не ловится (как StackOverflowException)? Т.е. всё-таки к каким его относить — к отлавливаемым или нет?


К ошибкам дизайна .NET Они его почему-то бросают и в случае, если jitter-у не хватило памяти на компиляцию метода. Соответственно, ее может не хватить и на компиляцию чего-то вызываемого в catch-блоке. А тогда — повторное исключение и до свидания. Я кстати, не понимаю почему нет возможности заставить рантайм заджитить всю сборку при загрузке (или есть?).

В общем, дело ясное, что дело темное. Лично для меня подобные "тонкости" — это минус дотнету при выборе платформы для очередного проекта (хотя, надо признать, его плюсы в последнее время начинают перевешивать ).
... << RSDN@Home 1.2.0 alpha 4 rev. 1228>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.