Модераторы: Partizan, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как(где) создать поток, который работает, после окончания проложения? 
:(
    Опции темы
Pankon
Дата 11.7.2006, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 739
Регистрация: 2.6.2005

Репутация: 3
Всего: 5



Как(где) создать поток,  который работает после окончания приложения, и его не сьест "сборщик мусора"?

 
PM MAIL   Вверх
DeadSoul
Дата 11.7.2006, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1217
Регистрация: 25.9.2005
Где: Москва

Репутация: нет
Всего: 11



Цитата(Pankon @  11.7.2006,  12:28 Найти цитируемый пост)
Как(где) создать поток,  который работает после окончания приложения, и его не сьест "сборщик мусора"?

1. Зачем?
2. Это невозможно 


--------------------
 Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". 

Бьем спамеров их же оружием. Пусть весь спам сыпется им
[email protected] 
PM   Вверх
ivashkanet
Дата 11.7.2006, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Цитата(DeadSoul @  11.7.2006,  12:33 Найти цитируемый пост)
2. Это невозможно 

Поясню: приложение считается работающим, пока работает хотя бы один запущенный им поток smile 
Цитата(DeadSoul @  11.7.2006,  12:33 Найти цитируемый пост)
1. Зачем?

То же хотел бы знать?
Это вопрос из серии: "Хочу чтобы мое приложение работало после окончания работы"

Добавлено @ 12:37 
Или вопрос такой: "... потк работающий после закрытия гавной формы приложения"? 
PM MAIL WWW ICQ   Вверх
Pankon
Дата 11.7.2006, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 739
Регистрация: 2.6.2005

Репутация: 3
Всего: 5



Цитата(DeadSoul @  11.7.2006,  12:33 Найти цитируемый пост)
Зачем?
Цитата(ivashkanet @  11.7.2006,  12:36 Найти цитируемый пост)
То же хотел бы знать?

Задача родилась из АСП проекта, в котором, пользователи должены с веб страницы запускать "серверное" приложение(разные экземпляры) и "закрывать" сессию. А запущенные приложения продолжают работу и остановливаются, когда "сделают" всю свою работу. (Серверный application тоже может быть остановлен...)







ПС. Может надо виндовс службы организовывать, но я здесь абсолютно не селен smile. И вообще можно ли "запускать" разные экземпляры одной службы из программы передав им разные входные параметры? (Надо другой топик начать...)
 
PM MAIL   Вверх
DeadSoul
Дата 11.7.2006, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1217
Регистрация: 25.9.2005
Где: Москва

Репутация: нет
Всего: 11



Цитата(Pankon @  11.7.2006,  13:31 Найти цитируемый пост)
 И вообще можно ли "запускать" разные экземпляры одной службы из программы передав им разные входные параметры? (Надо другой топик начать...)

Нет.

 


--------------------
 Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". 

Бьем спамеров их же оружием. Пусть весь спам сыпется им
[email protected] 
PM   Вверх
Pankon
Дата 11.7.2006, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 739
Регистрация: 2.6.2005

Репутация: 3
Всего: 5



Цитата(DeadSoul @  11.7.2006,  13:33 Найти цитируемый пост)
Нет.

Что делать то  smile    smile  smile  smile  smile 
 
PM MAIL   Вверх
ivashkanet
Дата 11.7.2006, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Цитата(Pankon @  11.7.2006,  13:31 Найти цитируемый пост)
Задача родилась из АСП проекта, в котором, пользователи должены с веб страницы запускать "серверное" приложение(разные экземпляры) и "закрывать" сессию. А запущенные приложения продолжают работу и остановливаются, когда "сделают" всю свою работу. (Серверный application тоже может быть остановлен...)

Вообще, это лучше делать силами ASP .Net (ИМХО, ничем от win приложений не отличается, только сразу заточена под многопоточность).

А если хочешь под WinForm, то делай одно постоянно работающее приложение, которое будет раздавать потоки всем юзерам (хотя это все уже реализовано в ASP).
Цитата(Pankon @  11.7.2006,  13:31 Найти цитируемый пост)
Серверный application тоже может быть остановлен...

на то он и серверный, что всегда включен. Остановишь его и все, никто к нему доступа не получит smile 
Правда можно сделать отключение при простое, но все равно приложение много не съест ресурсов (в рамках сервера, а не домашнего компа). Так что об этом не стоит заботиться 
PM MAIL WWW ICQ   Вверх
Pankon
Дата 11.7.2006, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 739
Регистрация: 2.6.2005

Репутация: 3
Всего: 5



Цитата(ivashkanet @  11.7.2006,  13:43 Найти цитируемый пост)
Вообще, это лучше делать силами ASP .Net
Цитата(ivashkanet @  11.7.2006,  13:43 Найти цитируемый пост)
хотя это все уже реализовано в ASP
 Так все-таки - как (примерный сценарий please)?

 
PM MAIL   Вверх
ivashkanet
Дата 11.7.2006, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Не понял?
ЛЮБАЯ ASP .Net страница ---- приложение работающее на стороне сервера.
Которое запускается отдельно для каждого пользователя.
В ней можно  делать что хочешь (хоть удалить все файлы на компе, хоть выключить его  smile )
Срочно читать инфу про ASP .Net 
Литература по .Net
Или в Гугл
Удачи  smile  
PM MAIL WWW ICQ   Вверх
Pankon
Дата 11.7.2006, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 739
Регистрация: 2.6.2005

Репутация: 3
Всего: 5



ivashkanet, 
Цитата(ivashkanet @  11.7.2006,  14:15 Найти цитируемый пост)
Которое запускается отдельно для каждого пользователя.
В ней можно  делать что хочешь
 это - то понятно, а вот как
Цитата(Pankon @  11.7.2006,  13:31 Найти цитируемый пост)
в котором, пользователи должены с веб страницы запускать "серверное" приложение(разные экземпляры) и "закрывать" сессию. А запущенные приложения продолжают работу и остановливаются, когда "сделают" всю свою работу
 и это тогда, когда пользователь уже давно выключил комп ... и.... спит(уже пару часов).

 
PM MAIL   Вверх
ivashkanet
Дата 11.7.2006, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Цитата(Pankon @  11.7.2006,  14:38 Найти цитируемый пост)
запущенные приложения продолжают работу и остановливаются, когда "сделают" всю свою работу

Ясно, не будут же они стопаться не доделав работу smile 
Так, вопрос
Где должны крутиться приложения? На сервере?
Наверное да, ведь 
Цитата(Pankon @  11.7.2006,  14:38 Найти цитируемый пост)
 пользователь уже давно выключил комп ... и.... спит(уже пару часов).


Добавлено @ 14:47 
Цитата(ivashkanet @  11.7.2006,  14:42 Найти цитируемый пост)
не будут же они стопаться не доделав работу

А еще можно, ИМХО, передать работу работающему (всегда, если нет, то запускаем его) приложению. Которое создаст поток.
P.S. А еще лучше, подождать людей, которые с этим сталкивались. А то я сейчас насоветую... smile 
Хотя, на мой взгляд, все нормуль smile  
PM MAIL WWW ICQ   Вверх
Pankon
Дата 11.7.2006, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 739
Регистрация: 2.6.2005

Репутация: 3
Всего: 5



Цитата(ivashkanet @  11.7.2006,  14:42 Найти цитируемый пост)
не будут же они стопаться не доделав работу
 да они долго будут на сервере крутиться и пользователь не дождется подтверждения..., а потом БУХ и timeout их прикончит и сессию закроет, вот тут то юзер и получит "подтверждение"...  smile 
Цитата(ivashkanet @  11.7.2006,  14:42 Найти цитируемый пост)
На сервере?
 Угу...
Цитата(ivashkanet @  11.7.2006,  14:42 Найти цитируемый пост)
передать работу работающему (всегда, если нет, то запускаем его) приложению
... smile Вопрос примерно про это и был ... Так Как(где) создать -то ?

Цитата(ivashkanet @  11.7.2006,  14:42 Найти цитируемый пост)
А еще лучше, подождать людей, которые с этим сталкивались.
 Люди..... . .  .    .      .

 

Это сообщение отредактировал(а) Pankon - 11.7.2006, 15:06
PM MAIL   Вверх
ivashkanet
Дата 11.7.2006, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Цитата(Pankon @  11.7.2006,  15:03 Найти цитируемый пост)
Так Как(где) создать -то ?

Я знаю только так  smile 
Цитата(ivashkanet @  11.7.2006,  14:42 Найти цитируемый пост)
А еще можно, ИМХО, передать работу работающему (всегда, если нет, то запускаем его) приложению. Которое создаст поток.


Добавлено @ 15:10 
Цитата(Pankon @  11.7.2006,  15:03 Найти цитируемый пост)
 да они долго будут на сервере крутиться

Что ты там такое делать то собрался?
На несколько часов???
Не могу себе представить 
PM MAIL WWW ICQ   Вверх
mr.DUDA
Дата 11.7.2006, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Обычно делается спец. табличка в базе данных, куда складывается последнее состояние юзверя (viewstate или что там может быть в асп.нет), а на сервере работает windows service, который с заданной периодичностью удаляет самые старые записи из этой таблички. Windows service элементарно пишется, в студии шаблон есть. 


--------------------
user posted image
PM MAIL WWW   Вверх
Pankon
Дата 11.7.2006, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 739
Регистрация: 2.6.2005

Репутация: 3
Всего: 5



Цитата(mr.DUDA @  11.7.2006,  15:54 Найти цитируемый пост)
удаляет самые старые записи из этой таблички
 мне нужно именно работающий поток(или экземляр работающего приложения(робота)) на сервере, который делает свою работу и умирает, когда все сделает. Каждый экземпляр такого "серверного робота" получает входные параметры из асп страницы (точнее с пользовательской страницы), но это не вопрос...
Вопрос где и как хранить(запускать) такой робот. В сессии - не пойдет.. юзер закрывает броузер и идет спать, а робот должен работать...
В СерверАппликатион, говорят тоже может быть остановлен, не зависимо от присутствия серверных переменных(читай запущенных потоков)...
Создавать виндовссервисе(несколько - один для каждого юзера) и передовать ему параметры говорят - не возможно 
Цитата(DeadSoul @  11.7.2006,  13:33 Найти цитируемый пост)
Нет.


Поэтому
Как(где) создать поток, который работает, после окончания приложения(сессии)?

 smile 
 smile 
 smile 
  

Это сообщение отредактировал(а) Pankon - 11.7.2006, 16:19
PM MAIL   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0737 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.