.
F>Да, народ давайте серьездно порассуждаем, как это можно сотварить красиво и правильно в АСП. Не будем говорить о целесообразности, просто НАДО. Но вот, как мне кажеться, это с изюменкой, тоесть джолжно быть все просто и элегантно..... хм... но как .. .
Все станет просто и элегантно, если в сессии ты будешь хранить идентификатор задания и передавать его в рабочую нитку, которая по завершении запишет что она завершила обработку задания в какой-нить источник, который будет доступен для проверки "UI"-ниткой статуса задания. В качестве такого источника можно взять, например, какой-нить статический контейнер (например Dictionary), или объект Application, но оба эти варианта не лишены недостатков, так что я использовал бы какую-нить табличку в базе данных.
F>Да, народ давайте серьездно порассуждаем, как это можно сотварить красиво и правильно в АСП. Не будем говорить о целесообразности, просто НАДО. Но вот, как мне кажеться, это с изюменкой, тоесть джолжно быть все просто и элегантно..... хм... но как .. .
Это нельзя серьезно обсуждать. Слова "процесс работы" и "основной поток UI" имеют мало общего и с этим форумом, и с тем, из которого вас принесло.
Здравствуйте, Flap, Вы писали:
F>это основной поток, в котором выполняется текушая страница.
Что ты имешшь в виду, говоря выполняется?
Re[3]: ASP.NET 2.0 & Multy Threading
От:
Аноним
Дата:
15.06.06 21:29
Оценка:
>>как это можно сотварить красиво и правильно в АСП
(На полном серьёзе) ЭТО? КРАСИВО? ПРАВИЛЬНО? НА ASP.NET? Никак. Пусть будет "имхо".
Это как тут товарисч один собирался на ASP.NET сканировать документы... Зачем смешивать квадратное с зеленым? Выгод это не даст. По-любому нужно через ThreadingPool делать, а его держать на уровне приложения, а не сессии. Создаванием потоков в лоб можно убить систему, даже 4-хядерную. Тот же "AppServer" и получится.
Если из моих 4х вопросов выкинуть последний, то очень красиво и правильно и получится. ASPNET — аспнетит, а "вычислитель" — вычисляет. Все счастливы и не пытаются друг друга убить.
Здравствуйте, BlackTigerAP, Вы писали:
BTA>Это как тут товарисч один собирался на ASP.NET сканировать документы... Зачем смешивать квадратное с зеленым? Выгод это не даст. По-любому нужно через ThreadingPool делать, а его держать на уровне приложения, а не сессии. Создаванием потоков в лоб можно убить систему, даже 4-хядерную. Тот же "AppServer" и получится.
В трех строчках умудрился наделать столько ошибок
1. Не ThreadingPool, а ThreadPool
2. Держать его ну уж никак не получится, т.к. управляет им не приложение, а .net runtime.
3. ThreadPool существует не на уровне приложения, а на уровне app domain-а.
4. Через ThreadPool убить asp.net гораздо проще чем через нитки, т.к. он (asp.net) сам по себе очень даже использует ThreadPool.
Re[4]: ASP.NET 2.0 & Multy Threading
От:
Аноним
Дата:
15.06.06 21:59
Оценка:
Уфф... Я уж думал проблемы в "зеленом" или "квадратном"...
>>Это хорошо, НО, что мне здесь не очень нравиться: >>1) Явное связывание. >>2) Хотелось бы работать с глобальным HttpContext.Current, так как моему методу нужно общаться не на прямую с Session, а через клас посредник.
а смысл этого посредника? сделай наоборот.
в сессии храни клас со всеми пропертями необходимыми тебе, а не строй "обертку" над сессией. тогда одной операцией ты достанешь его и дальше уже работашь с этим классом а не с HttpContext.Current и здесь к тому же локи будет проще расставить.