![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Pankon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 739 Регистрация: 2.6.2005 Репутация: 3 Всего: 5 |
Как(где) создать поток, который работает после окончания приложения, и его не сьест "сборщик мусора"?
|
|||
|
||||
| DeadSoul |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1217 Регистрация: 25.9.2005 Где: Москва Репутация: нет Всего: 11 |
1. Зачем? 2. Это невозможно -------------------- Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". Бьем спамеров их же оружием. Пусть весь спам сыпется им [email protected] |
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
Поясню: приложение считается работающим, пока работает хотя бы один запущенный им поток То же хотел бы знать? Это вопрос из серии: "Хочу чтобы мое приложение работало после окончания работы" Добавлено @ 12:37 Или вопрос такой: "... потк работающий после закрытия гавной формы приложения"? |
|||
|
||||
| Pankon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 739 Регистрация: 2.6.2005 Репутация: 3 Всего: 5 |
Задача родилась из АСП проекта, в котором, пользователи должены с веб страницы запускать "серверное" приложение(разные экземпляры) и "закрывать" сессию. А запущенные приложения продолжают работу и остановливаются, когда "сделают" всю свою работу. (Серверный application тоже может быть остановлен...) ПС. Может надо виндовс службы организовывать, но я здесь абсолютно не селен |
|||
|
||||
| DeadSoul |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1217 Регистрация: 25.9.2005 Где: Москва Репутация: нет Всего: 11 |
Нет. -------------------- Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". Бьем спамеров их же оружием. Пусть весь спам сыпется им [email protected] |
|||
|
||||
| Pankon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 739 Регистрация: 2.6.2005 Репутация: 3 Всего: 5 |
||||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
Вообще, это лучше делать силами ASP .Net (ИМХО, ничем от win приложений не отличается, только сразу заточена под многопоточность). А если хочешь под WinForm, то делай одно постоянно работающее приложение, которое будет раздавать потоки всем юзерам (хотя это все уже реализовано в ASP). на то он и серверный, что всегда включен. Остановишь его и все, никто к нему доступа не получит Правда можно сделать отключение при простое, но все равно приложение много не съест ресурсов (в рамках сервера, а не домашнего компа). Так что об этом не стоит заботиться |
|||
|
||||
| Pankon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 739 Регистрация: 2.6.2005 Репутация: 3 Всего: 5 |
||||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
Не понял?
ЛЮБАЯ ASP .Net страница ---- приложение работающее на стороне сервера. Которое запускается отдельно для каждого пользователя. В ней можно делать что хочешь (хоть удалить все файлы на компе, хоть выключить его Срочно читать инфу про ASP .Net Литература по .Net Или в Гугл Удачи |
|||
|
||||
| Pankon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 739 Регистрация: 2.6.2005 Репутация: 3 Всего: 5 |
ivashkanet,
и это тогда, когда пользователь уже давно выключил комп ... и.... спит(уже пару часов). |
|||
|
||||
| ivashkanet |
|
||||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
Ясно, не будут же они стопаться не доделав работу Так, вопрос Где должны крутиться приложения? На сервере? Наверное да, ведь
Добавлено @ 14:47 А еще можно, ИМХО, передать работу работающему (всегда, если нет, то запускаем его) приложению. Которое создаст поток. P.S. А еще лучше, подождать людей, которые с этим сталкивались. А то я сейчас насоветую... Хотя, на мой взгляд, все нормуль |
||||
|
|||||
| Pankon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 739 Регистрация: 2.6.2005 Репутация: 3 Всего: 5 |
да они долго будут на сервере крутиться и пользователь не дождется подтверждения..., а потом БУХ и timeout их прикончит и сессию закроет, вот тут то юзер и получит "подтверждение"...
Угу...
Люди..... . . . . . Это сообщение отредактировал(а) Pankon - 11.7.2006, 15:06 |
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
||||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Обычно делается спец. табличка в базе данных, куда складывается последнее состояние юзверя (viewstate или что там может быть в асп.нет), а на сервере работает windows service, который с заданной периодичностью удаляет самые старые записи из этой таблички. Windows service элементарно пишется, в студии шаблон есть.
-------------------- ![]() |
|||
|
||||
| Pankon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 739 Регистрация: 2.6.2005 Репутация: 3 Всего: 5 |
мне нужно именно работающий поток(или экземляр работающего приложения(робота)) на сервере, который делает свою работу и умирает, когда все сделает. Каждый экземпляр такого "серверного робота" получает входные параметры из асп страницы (точнее с пользовательской страницы), но это не вопрос...
Вопрос где и как хранить(запускать) такой робот. В сессии - не пойдет.. юзер закрывает броузер и идет спать, а робот должен работать... В СерверАппликатион, говорят тоже может быть остановлен, не зависимо от присутствия серверных переменных(читай запущенных потоков)... Создавать виндовссервисе(несколько - один для каждого юзера) и передовать ему параметры говорят - не возможно Поэтому Как(где) создать поток, который работает, после окончания приложения(сессии)? Это сообщение отредактировал(а) Pankon - 11.7.2006, 16:19 |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |